mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2025-11-16 12:34:45 +00:00
2006-11-17 Joel Sherrill <joel@OARcorp.com>
* libcsupport/src/sync.c: Do not dereference NULL reent.
This commit is contained in:
@@ -1,3 +1,7 @@
|
||||
2006-11-17 Joel Sherrill <joel@OARcorp.com>
|
||||
|
||||
* libcsupport/src/sync.c: Do not dereference NULL reent.
|
||||
|
||||
2006-11-17 Joel Sherrill <joel@OARcorp.com>
|
||||
|
||||
* posix/src/semtimedwait.c: Used wrong constant for blocking with bad
|
||||
|
||||
@@ -55,15 +55,19 @@ static void sync_wrapper(FILE *f)
|
||||
static void sync_per_thread(Thread_Control *t)
|
||||
{
|
||||
struct _reent *current_reent;
|
||||
struct _reent *this_reent;
|
||||
|
||||
/*
|
||||
* The sync_wrapper() function will operate on the current thread's
|
||||
* reent structure so we will temporarily use that.
|
||||
*/
|
||||
current_reent = _Thread_Executing->libc_reent;
|
||||
_Thread_Executing->libc_reent = t->libc_reent;
|
||||
_fwalk (t->libc_reent, sync_wrapper);
|
||||
_Thread_Executing->libc_reent = current_reent;
|
||||
this_reent = t->libc_reent;
|
||||
if ( this_reent ) {
|
||||
current_reent = _Thread_Executing->libc_reent;
|
||||
_Thread_Executing->libc_reent = this_reent;
|
||||
_fwalk (t->libc_reent, sync_wrapper);
|
||||
_Thread_Executing->libc_reent = current_reent;
|
||||
}
|
||||
}
|
||||
|
||||
int sync(void)
|
||||
|
||||
Reference in New Issue
Block a user