Changeset 706b4de in mainline


Ignore:
Timestamp:
2017-11-10T19:33:50Z (6 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
f3365b6
Parents:
d420b22
Message:

Remove support for IPC_CALLRET_TEMPORARY

Files:
4 edited

Legend:

Unmodified
Added
Removed
  • abi/include/abi/ipc/ipc.h

    rd420b22 r706b4de  
    8282/* Return values from sys_ipc_call_async(). */
    8383#define IPC_CALLRET_FATAL      -1
    84 #define IPC_CALLRET_TEMPORARY  -2
    85 
    8684
    8785/* Macros for manipulating calling data */
  • kernel/generic/src/ipc/sysipc.c

    rd420b22 r706b4de  
    359359 * @return Call hash on success.
    360360 * @return IPC_CALLRET_FATAL in case of a fatal error.
    361  * @return IPC_CALLRET_TEMPORARY if there are too many pending
    362  *         asynchronous requests; answers should be handled first.
    363361 *
    364362 */
  • uspace/app/trace/trace.c

    rd420b22 r706b4de  
    284284        sysarg_t phoneid;
    285285       
    286         if (sc_rc == (sysarg_t) IPC_CALLRET_FATAL ||
    287             sc_rc == (sysarg_t) IPC_CALLRET_TEMPORARY)
     286        if (sc_rc == (sysarg_t) IPC_CALLRET_FATAL)
    288287                return;
    289288
     
    305304        int rc;
    306305
    307         if (sc_rc == (sysarg_t) IPC_CALLRET_FATAL ||
    308             sc_rc == (sysarg_t) IPC_CALLRET_TEMPORARY)
     306        if (sc_rc == (sysarg_t) IPC_CALLRET_FATAL)
    309307                return;
    310308
  • uspace/lib/c/generic/ipc.c

    rd420b22 r706b4de  
    148148        }
    149149       
    150         if (callid == (ipc_callid_t) IPC_CALLRET_TEMPORARY) {
    151                 futex_unlock(&ipc_futex);
    152                
    153                 call->u.msg.phoneid = phoneid;
    154                
    155                 futex_down(&async_futex);
    156                 list_append(&call->list, &queued_calls);
    157                
    158                 call->fid = fibril_get_id();
    159                 fibril_switch(FIBRIL_TO_MANAGER);
    160                 /* Async futex unlocked by previous call */
    161                
    162                 return;
    163         }
    164        
    165150        call->u.callid = callid;
    166151       
     
    210195        ipc_callid_t callid = __SYSCALL6(SYS_IPC_CALL_ASYNC_FAST, phoneid,
    211196            imethod, arg1, arg2, arg3, arg4);
    212        
    213         if (callid == (ipc_callid_t) IPC_CALLRET_TEMPORARY) {
    214                 if (!call) {
    215                         call = ipc_prepare_async(private, callback);
    216                         if (!call) {
    217                                 futex_unlock(&ipc_futex);
    218                                 return;
    219                         }
    220                 }
    221                
    222                 IPC_SET_IMETHOD(call->u.msg.data, imethod);
    223                 IPC_SET_ARG1(call->u.msg.data, arg1);
    224                 IPC_SET_ARG2(call->u.msg.data, arg2);
    225                 IPC_SET_ARG3(call->u.msg.data, arg3);
    226                 IPC_SET_ARG4(call->u.msg.data, arg4);
    227                
    228                 /*
    229                  * To achieve deterministic behavior, we always zero out the
    230                  * arguments that are beyond the limits of the fast version.
    231                  */
    232                
    233                 IPC_SET_ARG5(call->u.msg.data, 0);
    234         }
    235197       
    236198        ipc_finish_async(callid, phoneid, call);
     
    351313                ipc_callid_t callid =
    352314                    ipc_call_async_internal(call->u.msg.phoneid, &call->u.msg.data);
    353                
    354                 if (callid == (ipc_callid_t) IPC_CALLRET_TEMPORARY)
    355                         break;
    356315               
    357316                list_remove(&call->list);
Note: See TracChangeset for help on using the changeset viewer.