Changeset 8489

Show
Ignore:
Timestamp:
09/02/10 11:54:33 (3 years ago)
Author:
bligon
Message:

Modified pjmp code to use a task-id of GETATTR instead of 0, because 0
causes the state machine processor to free the frame before returning
to the calling machine.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • branches/Orange-Branch/src/server/list-attr.sm

    r8486 r8489  
    2525#include "pvfs2-internal.h" 
    2626 
     27#define GETATTR 100 
     28 
     29 
    2730%% 
    2831 
     
    4851        pjmp listattr_setup_getattr 
    4952        { 
    50             success => pvfs2_pjmp_get_attr_work_sm; 
     53            GETATTR => pvfs2_pjmp_get_attr_work_sm; 
    5154        } 
    5255        success => interpret_getattrs; 
     
    172175        getattr_op->u.getattr.attrmask = s_op->req->u.listattr.attrmask; 
    173176 
    174         ret = PINT_sm_push_frame(smcb, 0, getattr_op); 
     177        ret = PINT_sm_push_frame(smcb, GETATTR, getattr_op); 
    175178        if(ret < 0) 
    176179        { 
     
    207210    job_status_s *js_p) 
    208211{     
    209     struct PINT_server_op *getattr_op; 
     212    struct PINT_server_op *getattr_op = NULL; 
    210213    /* note: this gives us a pointer to the base frame (list_attr),  
    211214     * _not_ the getattr frames that were previously pushed. 
     
    229232        getattr_op = PINT_sm_pop_frame(smcb, &task_id, &tmp_err,  
    230233            &remaining); 
     234        gossip_debug(GOSSIP_SERVER_DEBUG, "getattr_op is %s.\n",(getattr_op ? "okay" : "NULL")); 
    231235        gossip_debug(GOSSIP_SERVER_DEBUG, "listattr: nested sm returned error code: %d\n", tmp_err); 
     236        gossip_debug(GOSSIP_SERVER_DEBUG, "s_op is %p \t getattr_op is %p",s_op,getattr_op ); 
    232237        /* match it up with the correct array entry */ 
    233238        for(j=0; j<s_op->req->u.listattr.nhandles; j++)