source: trunk/src/3rdparty/patches/sqlite-3.5.6-vxworks.patch@ 728

Last change on this file since 728 was 561, checked in by Dmitry A. Kuminov, 16 years ago

trunk: Merged in qt 4.6.1 sources.

  • Property svn:eol-style set to native
File size: 1.9 KB
RevLine 
[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);
Note: See TracBrowser for help on using the repository browser.