| [556] | 1 | --- sqlite3.c.orig
|
|---|
| 2 | +++ sqlite3.c
|
|---|
| 3 | @@ -383,7 +383,7 @@ SQLITE_PRIVATE void sqlite3Coverage(int);
|
|---|
| 4 | **
|
|---|
| 5 | ** See also ticket #2741.
|
|---|
| 6 | */
|
|---|
| 7 | -#if !defined(_XOPEN_SOURCE) && !defined(__DARWIN__) && !defined(__APPLE__) && SQLITE_THREADSAFE
|
|---|
| 8 | +#if !defined(_XOPEN_SOURCE) && !defined(__DARWIN__) && !defined(__APPLE__) && SQLITE_THREADSAFE && !defined(VXWORKS)
|
|---|
| 9 | # define _XOPEN_SOURCE 500 /* Needed to enable pthread recursive mutexes */
|
|---|
| 10 | #endif
|
|---|
| 11 |
|
|---|
| 12 | @@ -440,6 +440,13 @@ SQLITE_PRIVATE void sqlite3Coverage(int);
|
|---|
| 13 | */
|
|---|
| 14 | #ifndef _SQLITE3_H_
|
|---|
| 15 | #define _SQLITE3_H_
|
|---|
| 16 | +
|
|---|
| 17 | +#ifdef VXWORKS
|
|---|
| 18 | +# define SQLITE_HOMEGROWN_RECURSIVE_MUTEX
|
|---|
| 19 | +# define NO_GETTOD
|
|---|
| 20 | +# include <ioLib.h>
|
|---|
| 21 | +#endif
|
|---|
| 22 | +
|
|---|
| 23 | #include <stdarg.h> /* Needed for the definition of va_list */
|
|---|
| 24 |
|
|---|
| 25 | /*
|
|---|
| 26 | @@ -18792,7 +18799,11 @@ SQLITE_PRIVATE sqlite3_vfs *sqlite3OsDefaultVfs(void){
|
|---|
| 27 | #include <sys/stat.h>
|
|---|
| 28 | #include <fcntl.h>
|
|---|
| 29 | #include <unistd.h>
|
|---|
| 30 | -#include <sys/time.h>
|
|---|
| 31 | +#ifdef VXWORKS
|
|---|
| 32 | +# include <sys/times.h>
|
|---|
| 33 | +#else
|
|---|
| 34 | +# include <sys/time.h>
|
|---|
| 35 | +#endif
|
|---|
| 36 | #include <errno.h>
|
|---|
| 37 | #ifdef SQLITE_ENABLE_LOCKING_STYLE
|
|---|
| 38 | #include <sys/ioctl.h>
|
|---|
| 39 | @@ -19728,7 +19739,11 @@ static int seekAndWrite(unixFile *id, i64 offset, const void *pBuf, int cnt){
|
|---|
| 40 | if( newOffset!=offset ){
|
|---|
| 41 | return -1;
|
|---|
| 42 | }
|
|---|
| 43 | +# ifndef VXWORKS
|
|---|
| 44 | got = write(id->h, pBuf, cnt);
|
|---|
| 45 | +# else
|
|---|
| 46 | + got = write(id->h, (char *)pBuf, cnt);
|
|---|
| 47 | +# endif
|
|---|
| 48 | #endif
|
|---|
| 49 | TIMER_END;
|
|---|
| 50 | OSTRACE5("WRITE %-3d %5d %7lld %d\n", id->h, got, offset, TIMER_ELAPSED);
|
|---|
| 51 | @@ -21554,12 +21569,16 @@ static int unixRandomness(sqlite3_vfs *pVfs, int nBuf, char *zBuf){
|
|---|
| 52 | #if !defined(SQLITE_TEST)
|
|---|
| 53 | {
|
|---|
| 54 | int pid, fd;
|
|---|
| 55 | - fd = open("/dev/urandom", O_RDONLY);
|
|---|
| 56 | + fd = open("/dev/urandom", O_RDONLY, 0);
|
|---|
| 57 | if( fd<0 ){
|
|---|
| 58 | time_t t;
|
|---|
| 59 | time(&t);
|
|---|
| 60 | memcpy(zBuf, &t, sizeof(t));
|
|---|
| 61 | +#ifndef VXWORKS
|
|---|
| 62 | pid = getpid();
|
|---|
| 63 | +#else
|
|---|
| 64 | + pid = (int)taskIdCurrent();
|
|---|
| 65 | +#endif
|
|---|
| 66 | memcpy(&zBuf[sizeof(t)], &pid, sizeof(pid));
|
|---|
| 67 | }else{
|
|---|
| 68 | read(fd, zBuf, nBuf);
|
|---|