r6:Function:abstraction thread wait

From liblfds.org
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Source Files

/test/src/abstraction_thread_wait.c
/test/src/abstraction.h

Prototype

void abstraction_thread_wait( thread_state_t thread_state );

Parameters

thread_state_t *thread_state

The address of a thread_state_t which has been initialised by abstration_thread_start.

Return Value

No return value.

Notes

This function provides the test program with a way to wait until a thread terminates.

Examples

Under Windows (32-bit and 64-bit), using the Microsoft C compiler, the function WaitForSingleObject is used to create threads and this function has following prototype;

DWORD WINAPI WaitForSingleObject( __in HANDLE hHandle, __in DWORD dwMilliseconds );

As such, the implementation of abstraction_thread_wait() on all Windows, for all CPUs, using the Microsoft C compiler, looks like this;

#if (defined _WIN32 && defined _MSC_VER)

  /* TRD : any Windows on any CPU with the Microsoft C compiler

           _WIN32    indicates 64-bit or 32-bit Windows
           _MSC_VER  indicates Microsoft C compiler
  */

  void abstraction_thread_wait( thread_state_t thread_state )
  {
    WaitForSingleObject( thread_state, INFINITE );

    return;
  }

#endif

See Also