You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by mt...@apache.org on 2009/11/11 17:43:37 UTC
svn commit: r834955 -
/commons/sandbox/runtime/trunk/src/main/native/os/unix/shm.c
Author: mturk
Date: Wed Nov 11 16:43:37 2009
New Revision: 834955
URL: http://svn.apache.org/viewvc?rev=834955&view=rev
Log:
Unlink the header file if shm create failed
Modified:
commons/sandbox/runtime/trunk/src/main/native/os/unix/shm.c
Modified: commons/sandbox/runtime/trunk/src/main/native/os/unix/shm.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/os/unix/shm.c?rev=834955&r1=834954&r2=834955&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/os/unix/shm.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/os/unix/shm.c Wed Nov 11 16:43:37 2009
@@ -243,9 +243,8 @@
shm->reqsize = reqsize;
shm->filename = ACR_StrdupA(_E, THROW_FMARK, filename);
if (!shm->filename) {
- rc = ACR_GET_OS_ERROR();
x_free(shm);
- ACR_SET_OS_ERROR(rc);
+ ACR_SET_OS_ERROR(ACR_ENOMEM);
return -1;
}
@@ -302,8 +301,14 @@
goto finally;
}
finally:
- if (file > 0)
- rc = close(file);
+ if (file > 0) {
+ close(file);
+ if (rc) {
+ /* Remove header file
+ */
+ unlink(filename);
+ }
+ }
if (rc) {
x_free((void *)(shm->filename));
x_free(shm);
@@ -358,8 +363,7 @@
close(file);
goto finally;
}
- rc = close(file);
- if (rc) {
+ if (close(file)) {
rc = ACR_GET_OS_ERROR();
goto finally;
}