SQLite

Check-in [bd9ee0ea69]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Disable an assert that is sometimes generated spuriously.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | threads
Files: files | file ages | folders
SHA1: bd9ee0ea69181526cfc3cadac33a5ec5190112b0
User & Date: mistachkin 2014-07-29 21:44:13.328
Context
2014-07-30
14:44
Merge recent trunk changes, and especially the fix for the CREATE UNIQUE INDEX problem of ticket [9a6daf340df99ba9]. (check-in: 5b50a8380b user: drh tags: threads)
2014-07-29
21:44
Disable an assert that is sometimes generated spuriously. (check-in: bd9ee0ea69 user: mistachkin tags: threads)
19:00
Update return value checking to conform to the beginthreadex() specs. (check-in: 3144a16f91 user: mistachkin tags: threads)
Changes
Unified Diff Ignore Whitespace Patch
Changes to src/threads.c.
115
116
117
118
119
120
121







122

123
124
125
126
127
128
129
/* Thread procedure Win32 compatibility shim */
static unsigned __stdcall sqlite3ThreadProc(
  void *pArg  /* IN: Pointer to the SQLiteThread structure */
){
  SQLiteThread *p = (SQLiteThread *)pArg;

  assert( p!=0 );







  assert( p->id==GetCurrentThreadId() );

  assert( p->xTask!=0 );
  p->pResult = p->xTask(p->pIn);

  _endthreadex(0);
  return 0; /* NOT REACHED */
}








>
>
>
>
>
>
>

>







115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
/* Thread procedure Win32 compatibility shim */
static unsigned __stdcall sqlite3ThreadProc(
  void *pArg  /* IN: Pointer to the SQLiteThread structure */
){
  SQLiteThread *p = (SQLiteThread *)pArg;

  assert( p!=0 );
#if 0
  /*
  ** This assert appears to trigger spuriously on certain
  ** versions of Windows, possibly due to _beginthreadex()
  ** and/or CreateThread() not fully setting their thread
  ** ID parameter before starting the thread.
  */
  assert( p->id==GetCurrentThreadId() );
#endif
  assert( p->xTask!=0 );
  p->pResult = p->xTask(p->pIn);

  _endthreadex(0);
  return 0; /* NOT REACHED */
}