Provided by: pvm-dev_3.4.5-12.3_amd64 bug


       pvm_tasks - Returns information about the tasks running on the virtual machine.


       C    int info = pvm_tasks( int where, int *ntask, struct pvmtaskinfo **taskp )

            struct pvmtaskinfo {
            int ti_tid;
            int ti_ptid;
            int ti_host;
            int ti_flag;
            char *ti_a_out;
            } taskp;

       Fortran   call pvmftasks( where, ntask, tid, ptid, dtid, flag, aout, info )


       where   Integer specifying what tasks to return information about.  The options are:

                       0      for all the tasks on the virtual machine
                    pvmd tid  for all tasks on a given host
                      tid     for a specific task

       ntask   Integer returning the number of tasks being reported on.

       taskp   Returns  pointer  to  an  array of structures which contain information about each
               task including its task ID, parent tid, pvmd task ID, status flag, and the name of
               this  task's  executable file.  The status flag values are: waiting for a message,
               waiting for the pvmd, and running.

       tid     Integer returning task ID of one task

       ptid    Integer returning parent task ID

       dtid    Integer returning pvmd task ID of host task is on.

       flag    Integer returning status of task

       aout    Character string returning the name  of  spawned  task.   Manually  started  tasks
               return blank.

       info    Integer  status  code  returned by the routine.  Values less than zero indicate an


       The routine pvm_tasks returns information about tasks presently  running  on  the  virtual
       machine.   The information returned is the same as that available from the console command
       ps.  The C function returns information about the entire virtual machine in one call.  The
       Fortran  function  returns  information about one task per call and cycles through all the
       tasks.  Thus, if where = 0, and pvmftasks  is  called  ntask  times,  all  tasks  will  be

       Note  that in Fortran the reported value of ntask and the set of tasks do not change until
       the function resets at the end of a complete cycle.  The user can reset pvmftasks() at any
       time by calling it with ntask = -1.

       If pvm_tasks is successful, info will be 0.  If some error occurs then info will be < 0.


            struct pvmtaskinfo *taskp;
            int i, ntask;

            info = pvm_tasks( 0, &ntask, &taskp );
            for (i = 0; i < ntask; i++)
                      printf("t%x\n", taskp[i].ti_tid);
            Do i=1, NTASK
                CALL PVMFTASKS( DTID, NTASK, TID(i), PTID(i), DTID(i),
            &                  FLAG(i), AOUT(i), INFO )


       The following error condition can be returned by pvm_tasks

              invalid value for where argument.

              pvmd not responding.

              specified host not in virtual machine.


       pvm_config(3PVM), pvm_tidtohost(3PVM)

                                         31 August, 1994                              TASKS(3PVM)