diff options
author | drh <drh@noemail.net> | 2009-08-27 17:56:20 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2009-08-27 17:56:20 +0000 |
commit | 2238dcccc747782d09d178800e1aaf86ab63e96a (patch) | |
tree | 2e5aeac187dc506e0b706a32e3dfef6eaa883a1d /src | |
parent | 67fba2805541f205749b2bc76cc1e1eba57254d2 (diff) | |
download | sqlite-2238dcccc747782d09d178800e1aaf86ab63e96a.tar.gz sqlite-2238dcccc747782d09d178800e1aaf86ab63e96a.zip |
Patch to the named semaphore locking mechanism used by VxWorks.
FossilOrigin-Name: 609c5341bea16e4e8bcd15388b209c753ca9e0bb
Diffstat (limited to 'src')
-rw-r--r-- | src/os_unix.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/os_unix.c b/src/os_unix.c index b88cc7a8b..15bd8cc63 100644 --- a/src/os_unix.c +++ b/src/os_unix.c @@ -764,7 +764,7 @@ struct unixOpenCnt { UnixUnusedFd *pUnused; /* Unused file descriptors to close */ #if OS_VXWORKS sem_t *pSem; /* Named POSIX semaphore */ - char aSemName[MAX_PATHNAME+1]; /* Name of that semaphore */ + char aSemName[MAX_PATHNAME+2]; /* Name of that semaphore */ #endif struct unixOpenCnt *pNext, *pPrev; /* List of all unixOpenCnt objects */ }; @@ -3536,9 +3536,9 @@ static int fillInUnixFile( if( (rc==SQLITE_OK) && (pNew->pOpen->pSem==NULL) ){ char *zSemName = pNew->pOpen->aSemName; int n; - sqlite3_snprintf(MAX_PATHNAME, zSemName, "%s.sem", + sqlite3_snprintf(MAX_PATHNAME, zSemName, "/%s.sem", pNew->pId->zCanonicalName); - for( n=0; zSemName[n]; n++ ) + for( n=1; zSemName[n]; n++ ) if( zSemName[n]=='/' ) zSemName[n] = '_'; pNew->pOpen->pSem = sem_open(zSemName, O_CREAT, 0666, 1); if( pNew->pOpen->pSem == SEM_FAILED ){ |