पर sem_init मैं कुछ कोड पर काम कर रहा हूं जो pthread और semaphore पुस्तकालयों का उपयोग करता है। Sem_init फ़ंक्शन मेरी उबंटू मशीन पर ठीक काम करता है, लेकिन ओएस एक्स पर sem_init फ़ंक्शन का कोई प्रभाव नहीं पड़ता है। क्या लाइब्रेरी में कुछ गड़बड़ है या क्या ऐसा करने का एक अलग तरीका है? यह वह कोड है जिसका मैं परीक्षण करने के लिए उपयोग कर रहा हूं।ओएस एक्स
sem_t sem1;
sem_t sem2;
sem_t sem3;
sem_t sem4;
sem_t sem5;
sem_t sem6;
sem_init(&sem1, 1, 1);
sem_init(&sem2, 1, 2);
sem_init(&sem3, 1, 3);
sem_init(&sem4, 1, 4);
sem_init(&sem5, 1, 5);
sem_init(&sem6, 1, 6);
मान यादृच्छिक संख्या प्रतीत होते हैं, और वे sem_init कॉल के बाद नहीं बदलते हैं।
आपको 'sem_init' के वापसी मूल्य का परीक्षण करना चाहिए। – bfontaine
ध्यान दें कि कम से कम मैक ओएस एक्स योसेमेट (10.10) में, 'sem_init() ',' sem_destroy() 'और' sem_getvalue() 'को' बहिष्कृत 'चिह्नित किया गया है और परिणामस्वरूप संकलक चेतावनियां उत्पन्न होती हैं। –
@ जोनाथन लेफ्लर ओह, नहीं। यह मैक ओएस एक्स योसाइट (10.10.1) में काम नहीं कर सकता है। – vipygd