Changeset 5503:15152f742401 in roaraudio
- Timestamp:
- 05/15/12 13:42:06 (12 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libroar/roardl.c
r5482 r5503 44 44 #endif 45 45 46 #define RTF_RA_INITED 0x0001 47 #define RTF_APPSCHED_INITED 0x0002 48 #define RTF_APPSCHED_FREED 0x0004 49 46 50 struct roar_dl_lhandle { 47 51 size_t refc; // currently unused. … … 56 60 struct roar_notify_core * notifycore; 57 61 } context; 58 int ra_inited;62 unsigned int runtime_flags; 59 63 #if defined(ROAR_HAVE_LIBDL) 60 64 void * handle; … … 536 540 return -1; 537 541 } else { 538 if ( lhandle->r a_inited)542 if ( lhandle->runtime_flags & RTF_RA_INITED ) 539 543 return 0; 540 544 … … 634 638 635 639 if ( !((void*)lhandle < (void*)128) ) 636 lhandle->r a_inited = 1;640 lhandle->runtime_flags |= RTF_RA_INITED; 637 641 638 642 return 0; … … 796 800 797 801 if ( func == NULL ) { 802 if ( trigger == ROAR_DL_APPSCHED_INIT ) { 803 lhandle->runtime_flags |= RTF_APPSCHED_INITED|RTF_APPSCHED_FREED; 804 lhandle->runtime_flags -= RTF_APPSCHED_FREED; 805 } else if ( trigger == ROAR_DL_APPSCHED_FREE ) { 806 lhandle->runtime_flags |= RTF_APPSCHED_INITED|RTF_APPSCHED_FREED; 807 lhandle->runtime_flags -= RTF_APPSCHED_INITED; 808 } 798 809 roar_err_set(ROAR_ERROR_NOENT); 799 810 return -1; 811 } 812 813 if ( trigger == ROAR_DL_APPSCHED_INIT ) { 814 if ( lhandle->runtime_flags & RTF_APPSCHED_INITED ) { 815 roar_err_set(ROAR_ERROR_BUSY); 816 return -1; 817 } 818 } else { 819 if ( !(lhandle->runtime_flags & RTF_APPSCHED_INITED) ) { 820 roar_err_set(ROAR_ERROR_BUSY); 821 return -1; 822 } 800 823 } 801 824 … … 803 826 ret = func(lhandle->para); 804 827 roar_dl_context_store(lhandle); 828 829 if ( trigger == ROAR_DL_APPSCHED_INIT ) { 830 lhandle->runtime_flags |= RTF_APPSCHED_INITED|RTF_APPSCHED_FREED; 831 lhandle->runtime_flags -= RTF_APPSCHED_FREED; 832 } else if ( trigger == ROAR_DL_APPSCHED_FREE ) { 833 lhandle->runtime_flags |= RTF_APPSCHED_INITED|RTF_APPSCHED_FREED; 834 lhandle->runtime_flags -= RTF_APPSCHED_INITED; 835 } 836 805 837 return ret; 806 838 }
Note: See TracChangeset
for help on using the changeset viewer.