 بسم اللہ الرحمن الرحیم آج ہم موڈیول 91 دسکس کریں گے موڈیول 91 ہے about inheritable handles پریویس لی ہم نے دیکھا ہے کہ ایک پروسس جو کسی دوسر پروسس کو کریئٹ کر سکتا ہے جو کریئٹ ہونے والا پروسس ہے وہ چیلڈ پروسس ہے اور جس نے کریئٹ کیا ہے وہ پیرینٹ پروسس ہے تو کبھی کبھی اس طرح بھی ضرورت پڑتی ہے کہ ایک پیرینٹ پروسس کے اندر جو اٹریبیوٹس ہیں جو حنڈلز ہیں وہ pass on کیا جائیں تو the child یعنی کہ کچھ حنڈلز ہیں کچھ رسورسز کے جس کو پیرینٹ پروسس use کرا اور چیلڈ پروسس اس پیرینٹ پروسس کو کسی طریقی کسی assist کرا اور وہ بھی اون حنڈلز کو اکوائر کر کے اس کے پر کوئی operation پرفارم کرنا چاہرہا تو اس کے اس میں ایسے رسورسز جو پیرینٹ اپنے چائلڈ کے ساتھ شیر کرنا چاہرہا ان کو انہریٹبل بنائے گا اور اس کے جو حنڈلز ہیں وہ انہریٹبل حنڈلز کے لائیں گے تو اس کے اس کے اندر ایسا ہوگا جس جو حنڈلز آپ نے انہریٹبل بنائے گے ان حنڈلز کی copy چائلڈ کے پاس ریڈیلی اویلی بلی بل ہو جائے گی چائلڈ کو حنڈلز کریٹ نہیں کرنے پڑیں گے for those resources یعنی کہ for example جس طرح standard output ہے standard output کے اوپر چائلڈ بھی لکھ رہا اور standard output کے اوپر پیرینٹ بھی لکھ رہا تو ایکی پروسس کا ہے ایک پیرینٹ پروسس ہے اور اس کے چائلڈ پروسس ہے چائلڈ پروسس بھی standard output کے اوپر لکھنا چاہر ہیں تو standard output کا جو حنڈل ہوگا اس کو انہریٹبل بنائے دے دائے گا انہریٹبل ہونے سے وہ چائلڈ چلڈرن جو ہے ان کو ریڈیلی اویلی بل ہوگا اور چلڈرن جو ہے اس کے اوپر بھی output پروفوم کر سکیں گے یہ انہریٹنز کیسے ہوتی ہے اس کو کرنے کا یہ تریک ہے پسلی ہم نے دیکھا تھا کہ جب آپ کریئٹ پروسس کرتے ہیں تو اس کے انہرے ایک بی انہریٹ حنڈلز کا ایک فلاگ ہوتا آپ نے اس فلاگ کو true رکھنا اگر وہ فلاگ true ہوگا تو اس کے اس میں اس کا مطلب ہے کہ جو چائلڈ پروسس بنائے گا وہ پیرینٹ پروسس سے حنڈلز کو انہریٹ کر سکے گا پھر جن حنڈلز کو وہ انہریٹ کرنا چاہتا ہے انہریٹبل بنائے گا یہ کیسے کیا دے گا یہ سکوریٹی اٹریبوٹس کے اندر جو سٹرکچر ہے اس سٹرکچر کے اندر سپیسفائے کیا دے گا کہ یہ انہریٹبل ہے تو سکوریٹی اٹریبوٹس جب آپ سپیسفائے کریں گے اس کے اندر b انہریٹ فلاگ کی جو فیلڈ ہے اس کو آپ true کریں گے اور also جو سکوریٹی اٹریبوٹس کا سائیز ہے وہ سپیسفائے کریں گے یہ کیسے ہوتا ہے یہ اس کوڑ کے اندر آپ دیکھ سکتے ہیں سیمپل سی ڈیمپل ہے اس کے اندر آپ کو پاس حنڈلز ہے h1 h2 اور h3 جو h1 حنڈل ہے یہ اگر آپ انہریٹبل بنانا چاہتے ہیں تو اس کے جو سکوریٹی اٹریبوٹس آپ نے سپیسفائے کیا اس کے اندر آپ دیکھیں جو last فیلڈ ہے اس کو آپ نے true رکھا ہے یہ b انہریٹ فلاگ ہے b انہریٹ فلاگ کو آپ نے یہاں پر true رکھا ہے اس کو آپ true کریں گے اور also آپ نے جو n لنگت ہے وہ سپیسفائے کیا n لنگت کیسے سپیسفائے کیا size of security اٹریبوٹس جو سکوریٹی اٹریبوٹس کا سٹرکچر ہے اس کا size آپ نے یہاں پر سپیسفائے کیا اور beach اس والے کو اس کو آپ نے nal کر دیا اب یہاں پر آپ نے security اٹریبوٹس کا سٹرکچر سپیسفائے کیا اب اس طرح سے یہ جو h1 ہینڈل آپ کے پاس آیا ہے یہ انہریٹ ہے بلا اگر یہ child parent process نے کریٹ کیا اور اس parent کا کوئی child ہے تو اس child کو یہ handle ready لی available ہو جائے گا اسی طرح h3 یہ بھی child کو ready لی available ہو جائے گا جبکہ h2 یہ child کو available اس طرح سے نہیں ہوگا