Changeset 57 in libcf for trunk/src/cf_thread.c


Ignore:
Timestamp:
04/07/13 03:27:55 (11 years ago)
Author:
cheese
Message:

#1 fix thread interface

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/cf_thread.c

    r55 r57  
    1515# define THREAD_TYPE    HANDLE
    1616# define MUTEX_TYPE     HANDLE
     17# define THREAD_RETURN  unsigned long   /**< 스레드 워커 함수 반환 형 */
     18# define THREAD_CALL    __stdcall
    1719#else // #if defined(_WIN32) || defined(_WIN64)
    1820# include <pthread.h>
    1921# define THREAD_TYPE    pthread_t
    2022# define MUTEX_TYPE     pthread_mutex_t
     23# define THREAD_RETURN  void *          /**< 스레드 워커 함수 반환 형 */
     24# define THREAD_CALL
    2125#endif // #if defined(_WIN32) || defined(_WIN64)
    2226
     
    5761    int result = 0;
    5862
    59 #if defined(_WIN32) || defined(_WIN64)
    60     *threadID = (THREAD_TYPE) _beginthreadex (0, 0, callback, arg, 0, 0);
     63    THREAD_RETURN THREAD_CALL f = (THREAD_RETURN THREAD_CALL) callback;
     64
     65#if defined(_WIN32) || defined(_WIN64)
     66
     67    *threadID = (THREAD_TYPE) CreateThread (NULL, 0, f, arg, 0, NULL);
    6168    if (*threadID == NULL)
    6269        return CF_ERROR_THREAD_CREATE;
     
    6673        return CF_ERROR_THREAD_CREATE;
    6774
    68     result = pthread_create ((THREAD_TYPE *) *threadID, NULL, callback, arg);
     75    result = pthread_create ((THREAD_TYPE *) *threadID, NULL, f, arg);
    6976    if (result < 0)
    7077        return CF_ERROR_THREAD_CREATE;
Note: See TracChangeset for help on using the changeset viewer.