Changeset 278a1ccc8ea6c240d431bdb051ea164c4621e4aa

Show
Ignore:
Timestamp:
27/08/08 21:43:06 (3 months ago)
Author:
Rémi Denis-Courmont <rdenis@simphalempin.com>
git-committer:
Rémi Denis-Courmont <rdenis@simphalempin.com> 1219866186 +0300
git-parent:

[8b74b9de6ca105c32915930228e0519633f93126]

git-author:
Rémi Denis-Courmont <rdenis@simphalempin.com> 1219858820 +0300
Message:

vlc_join is a cancellation point

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • src/misc/threads.c

    rf442fe0 r278a1cc  
    596596/** 
    597597 * Waits for a thread to complete (if needed), and destroys it. 
     598 * This is a cancellation point; in case of cancellation, the join does _not_ 
     599 * occur. 
     600 * 
    598601 * @param handle thread handle 
    599602 * @param p_result [OUT] pointer to write the thread return value or NULL 
     
    606609 
    607610#elif defined( UNDER_CE ) || defined( WIN32 ) 
    608     WaitForSingleObject (handle->handle, INFINITE); 
     611    do 
     612        vlc_testcancel (); 
     613    while (WaitForSingleObjectEx (handle->handle, INFINITE, TRUE) 
     614                                                        == WAIT_IO_COMPLETION); 
     615 
    609616    CloseHandle (handle->handle); 
    610617    if (result)