Ignore:
Timestamp:
08/25/10 08:26:39 (21 months ago)
Author:
ludovic.rousseau
Message:

Do not call SCardEstablishContext() before daemonize since pcsc-lite
handles are invalid after a fork.

Thanks to Patrik Martinsson for the patch
http://www.opensc-project.org/pipermail/opensc-devel/2010-August/014632.html

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/tools/card_eventmgr.c

    r446 r447  
    342342    } 
    343343 
    344     rv = SCardEstablishContext(SCARD_SCOPE_SYSTEM, NULL, NULL, &hContext); 
    345     if (rv != SCARD_S_SUCCESS) { 
    346         DBG1("SCardEstablishContext: Cannot Connect to Resource Manager %lX", rv); 
    347         if (ctx) scconf_free(ctx); 
    348         return 1; 
    349     } 
    350  
    351344    /* put my self into background if flag is set */ 
    352345    if (daemonize) { 
     
    358351    } 
    359352 
     353    /* establish pc/sc handle _after_ possible fork */  
     354    rv = SCardEstablishContext(SCARD_SCOPE_SYSTEM, NULL, NULL, &hContext); 
     355    if (rv != SCARD_S_SUCCESS) { 
     356        DBG1("SCardEstablishContext: Cannot Connect to Resource Manager %lX", rv); 
     357        if (ctx) 
     358            scconf_free(ctx); 
     359        return 1; 
     360    } 
     361     
    360362    signal(SIGINT, signal_trap); 
    361363    signal(SIGQUIT, signal_trap); 
Note: See TracChangeset for help on using the changeset viewer.