IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jul 31, 2008, 1:24:22 PM (18 years ago)
Author:
eugene
Message:

some threading simplifications: threaded and unthreaded use the same code; added concept of a thread task

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branch_20080719/psLib/src/sys/psThread.h

    r18754 r18822  
    44 *
    55 *  @author EAM, IFA
    6  *  @version $Revision: 1.1.2.3 $ $Name: not supported by cvs2svn $
    7  *  @date $Date: 2008-07-27 22:42:32 $
     6 *  @version $Revision: 1.1.2.4 $ $Name: not supported by cvs2svn $
     7 *  @date $Date: 2008-07-31 23:24:22 $
    88 *
    99 *  Copyright 2004-2005 Insitute for Astronomy, University of Hawaii
     
    2727} psThread;
    2828
    29 typedef void *(*psThreadLaunchJobsFunction)(void *data);
     29typedef bool (*psThreadTaskFunction)(psThreadJob *job);
     30
     31typedef struct {
     32    psString type;
     33    int nArgs;
     34    psThreadTaskFunction function;
     35} psThreadTask;
     36
     37// typedef void *(*psThreadLaunchJobsFunction)(void *data);
    3038
    3139void psThreadLock ();
    3240void psThreadUnlock ();
    3341
    34 psThreadJob *psThreadJobAlloc (char *type, int nArgs);
     42psThread *psThreadAlloc ();
     43
     44psThreadJob *psThreadJobAlloc (char *type);
    3545bool psThreadJobAddPending (psThreadJob *job);
    3646psThreadJob *psThreadJobGetPending ();
    3747psThreadJob *psThreadJobGetDone ();
    3848
    39 psThread *psThreadAlloc ();
     49psThreadTask *psThreadTaskAlloc (char *type, int nArgs);
     50bool psThreadTaskAdd (psThreadTask *task);
     51void *psThreadLauncher (void *data);
    4052
    41 bool psThreadPoolInit (int nThreads, psThreadLaunchJobsFunction function);
     53bool psThreadPoolInit (int nThreads);
    4254bool psThreadPoolWait ();
    4355bool psThreadPoolFinalize ();
Note: See TracChangeset for help on using the changeset viewer.