केवल अनलिंक साझा स्मृति ऑब्जेक्ट के लिए माता-पिता की प्रक्रिया की अनुमति देते हैं

वोट
0

मैं एक कई प्रक्रियाओं है कि वापर shm_open(वे किसी भी क्रम में पैदा की जा सकती है)।

वे सब के सब एक ही प्रवाह के रूप में है:

int shm_fd = shm_open(pid, O_CREAT | O_EXCL | O_RDWR, S_IRWXU);
if (shm_fd == -1 && errno == EEXIST)
{
    //The object is already created so open it instead..
    shm_fd = shm_open(pid, O_RDWR, S_IRWXU);
}

if (shm_fd != -1)
{
    //do stuff..
}

तो अगर साझा स्मृति वस्तु पहले से मौजूद है, यह सिर्फ यह बजाय इसे बनाने के लिए प्रयास करने का खुल जाता है। वहाँ उसी के लिए है, तो मौजूदा प्रक्रिया यह नहीं खोल था, लिंक हटाना नहीं है करने के लिए एक तरीका है?

मैं पूछता हूँ क्योंकि मैं 3+ बच्चे प्रक्रियाओं और एक माता पिता, अगर बच्चों मरता और ट्रिगर के पास है तो shm_unlinkकोई और अधिक बच्चे प्रक्रियाओं को जोड़ने और के बाद से यह द्वारा अनलिंक था माता पिता के साथ संवाद कर सकते हैं।

वहाँ बच्चों प्रक्रियाओं लिंक रद्द करना वे का निर्माण नहीं किया क्या असफल करने के लिए एक तरीका है? आईई: कैसे को गति प्रदान करने EACCESSके लिए shm_unlinkया ट्रिगर कुछ इसी तरह?

EACCES - shm_unlink करने की अनुमति () साझा स्मृति वस्तु मना कर दिया था।

03/12/2019 को 00:00
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


1 जवाब

केवल अनलिंक साझा स्मृति ऑब्जेक्ट के लिए माता-पिता की प्रक्रिया की अनुमति देते हैं

वोट
0

मैं एक कई प्रक्रियाओं है कि वापर shm_open(वे किसी भी क्रम में पैदा की जा सकती है)।

वे सब के सब एक ही प्रवाह के रूप में है:

int shm_fd = shm_open(pid, O_CREAT | O_EXCL | O_RDWR, S_IRWXU);
if (shm_fd == -1 && errno == EEXIST)
{
    //The object is already created so open it instead..
    shm_fd = shm_open(pid, O_RDWR, S_IRWXU);
}

if (shm_fd != -1)
{
    //do stuff..
}

तो अगर साझा स्मृति वस्तु पहले से मौजूद है, यह सिर्फ यह बजाय इसे बनाने के लिए प्रयास करने का खुल जाता है। वहाँ उसी के लिए है, तो मौजूदा प्रक्रिया यह नहीं खोल था, लिंक हटाना नहीं है करने के लिए एक तरीका है?

मैं पूछता हूँ क्योंकि मैं 3+ बच्चे प्रक्रियाओं और एक माता पिता, अगर बच्चों मरता और ट्रिगर के पास है तो shm_unlinkकोई और अधिक बच्चे प्रक्रियाओं को जोड़ने और के बाद से यह द्वारा अनलिंक था माता पिता के साथ संवाद कर सकते हैं।

वहाँ बच्चों प्रक्रियाओं लिंक रद्द करना वे का निर्माण नहीं किया क्या असफल करने के लिए एक तरीका है? आईई: कैसे को गति प्रदान करने EACCESSके लिए shm_unlinkया ट्रिगर कुछ इसी तरह?

"EACCES - shm_unlink करने की अनुमति () साझा स्मृति वस्तु मना कर दिया था।"

03/12/2019 को 00:00
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more