BOOK.PS
上传用户:datang2001
上传日期:2007-02-01
资源大小:53269k
文件大小:2328k
源码类别:

操作系统开发

开发平台:

C/C++

  1. (seg_bytes;)420 1446 A
  2. 2370(/*)S
  3. (how)126 2496 A
  4. (big)126 2664 A
  5. 2832(is)S
  6. (the)126 2958 A
  7. (segment)294 3126 A
  8. 3462(*/)S
  9. 1080 V
  10. (17502)210 648 A
  11. 1026({)S
  12. 1170 V
  13. (17503)210 648 A
  14. 1026(/*)S
  15. (Read)168 1152 A
  16. 1362(in)S
  17. (text)168 1488 A
  18. 1698(or)S
  19. (data)168 1824 A
  20. (from)168 2034 A
  21. (the)126 2244 A
  22. (exec)168 2412 A
  23. (file)168 2622 A
  24. (and)126 2832 A
  25. (copy)168 3000 A
  26. 3210(to)S
  27. (the)126 3336 A
  28. (new)126 3504 A
  29. (core)168 3672 A
  30. (image.)252 3882 A
  31. 1260 V
  32. (17504)210 648 A
  33. 1068(*)S
  34. (This)168 1152 A
  35. (procedure)378 1362 A
  36. 1782(is)S
  37. 1908(a)S
  38. (little)252 1992 A
  39. (bit)126 2286 A
  40. (tricky.)294 2454 A
  41. (The)126 2832 A
  42. (logical)294 3000 A
  43. (way)126 3336 A
  44. 3504(to)S
  45. (load)168 3630 A
  46. 3840(a)S
  47. (segment)294 3924 A
  48. 1350 V
  49. (17505)210 648 A
  50. 1068(*)S
  51. (would)210 1152 A
  52. 1404(be)S
  53. 1530(to)S
  54. (read)168 1656 A
  55. 1866(it)S
  56. (block)210 1992 A
  57. 2244(by)S
  58. (block)210 2370 A
  59. (and)126 2622 A
  60. (copy)168 2790 A
  61. (each)168 3000 A
  62. (block)210 3210 A
  63. 3462(to)S
  64. (the)126 3588 A
  65. (user)168 3756 A
  66. (space)210 3966 A
  67. 1440 V
  68. (17506)210 648 A
  69. 1068(*)S
  70. (one)126 1152 A
  71. 1320(at)S
  72. 1446(a)S
  73. (time.)210 1530 A
  74. (This)168 1824 A
  75. 2034(is)S
  76. (too)126 2160 A
  77. (slow,)210 2328 A
  78. 2580(so)S
  79. 2706(we)S
  80. 2832(do)S
  81. (something)378 2958 A
  82. (dirty)210 3378 A
  83. (here,)210 3630 A
  84. (namely)252 3882 A
  85. 1530 V
  86. (17507)210 648 A
  87. 1068(*)S
  88. (send)168 1152 A
  89. (the)126 1362 A
  90. (user)168 1530 A
  91. (space)210 1740 A
  92. (and)126 1992 A
  93. (virtual)294 2160 A
  94. (address)294 2496 A
  95. 2832(to)S
  96. (the)126 2958 A
  97. (file)168 3126 A
  98. (system)252 3336 A
  99. 3630(in)S
  100. (the)126 3756 A
  101. (upper)210 3924 A
  102. 1620 V
  103. (17508)210 648 A
  104. 1068(*)S
  105. 1152(10)S
  106. (bits)168 1278 A
  107. 1488(of)S
  108. (the)126 1614 A
  109. (file)168 1782 A
  110. (descriptor,)462 1992 A
  111. (and)126 2496 A
  112. (pass)168 2664 A
  113. 2874(it)S
  114. (the)126 3000 A
  115. (user)168 3168 A
  116. (virtual)294 3378 A
  117. (address)294 3714 A
  118. 1710 V
  119. (17509)210 648 A
  120. 1068(*)S
  121. (instead)294 1152 A
  122. 1488(of)S
  123. 1614(a)S
  124. 1698(MM)S
  125. (address.)336 1824 A
  126. (The)126 2244 A
  127. (file)168 2412 A
  128. (system)252 2622 A
  129. (extracts)336 2916 A
  130. (these)210 3294 A
  131. (parameters)420 3546 A
  132. (when)168 4008 A
  133. 1800 V
  134. (17510)210 648 A
  135. 1068(*)S
  136. (gets)168 1152 A
  137. 1362(a)S
  138. (read)168 1446 A
  139. (call)168 1656 A
  140. (from)168 1866 A
  141. (the)126 2076 A
  142. (memory)252 2244 A
  143. (manager,)336 2538 A
  144. (which)210 2916 A
  145. 3168(is)S
  146. (the)126 3294 A
  147. (only)168 3462 A
  148. (process)294 3672 A
  149. (that)168 4008 A
  150. 1890 V
  151. (17511)210 648 A
  152. 1068(*)S
  153. 1152(is)S
  154. (permitted)378 1278 A
  155. 1698(to)S
  156. (use)126 1824 A
  157. (this)168 1992 A
  158. (trick.)252 2202 A
  159. (The)126 2538 A
  160. (file)168 2706 A
  161. (system)252 2916 A
  162. (then)168 3210 A
  163. (copies)252 3420 A
  164. (the)126 3714 A
  165. (whole)210 3882 A
  166. 1980 V
  167. (17512)210 648 A
  168. 1068(*)S
  169. (segment)294 1152 A
  170. (directly)336 1488 A
  171. 1866(to)S
  172. (user)168 1992 A
  173. (space,)252 2202 A
  174. (bypassing)378 2496 A
  175. 2916(MM)S
  176. (completely.)462 3042 A
  177. 2070 V
  178. (17513)210 648 A
  179. 1068(*/)S
  180. 2160 V
  181. (17514)210 648 A
  182. 2250 V
  183. (17515)210 648 A
  184. (int)126 1110 A
  185. (new_fd,)294 1278 A
  186. (bytes;)252 1614 A
  187. 2340 V
  188. (17516)210 648 A
  189. (char)168 1110 A
  190. (*ubuf_ptr;)420 1320 A
  191. 2430 V
  192. (17517)210 648 A
  193. 2520 V
  194. (17518)210 648 A
  195. (new_fd)252 1110 A
  196. 1404(=)S
  197. ((who)168 1488 A
  198. 1698(<<)S
  199. 1824(8))S
  200. 1950(|)S
  201. ((seg)168 2034 A
  202. 2244(<<)S
  203. 2370(6))S
  204. 2496(|)S
  205. (fd;)126 2580 A
  206. 2610 V
  207. (17519)210 648 A
  208. (ubuf_ptr)336 1110 A
  209. 1488(=)S
  210. ((char)210 1572 A
  211. 1824(*))S
  212. (((vir_bytes)mp->mp_seg[seg].mem_vir)1470 1950 A
  213. 3462(<<)S
  214. (CLICK_SHIFT);)546 3588 A
  215. 2700 V
  216. (17520)210 648 A
  217. (while)210 1110 A
  218. ((seg_bytes)420 1362 A
  219. 1824(!=)S
  220. 1950(0))S
  221. 2076({)S
  222. 2790 V
  223. (17521)210 648 A
  224. (bytes)210 1362 A
  225. 1614(=)S
  226. ((INT_MAX)336 1698 A
  227. 2076(/)S
  228. (BLOCK_SIZE))462 2160 A
  229. 2664(*)S
  230. (BLOCK_SIZE;)462 2748 A
  231. 2880 V
  232. (17522)210 648 A
  233. 1362(if)S
  234. ((seg_bytes)420 1488 A
  235. 1950(<)S
  236. (bytes))252 2034 A
  237. 2970 V
  238. (17523)210 648 A
  239. (bytes)210 1698 A
  240. 1950(=)S
  241. ((int)seg_bytes;)630 2034 A
  242. 3060 V
  243. (17524)210 648 A
  244. 1362(if)S
  245. ((read(new_fd,)546 1488 A
  246. (ubuf_ptr,)378 2076 A
  247. (bytes))252 2496 A
  248. 2790(!=)S
  249. (bytes))252 2916 A
  250. 3150 V
  251. (17525)210 648 A
  252. (break;)252 1698 A
  253. 2370(/*)S
  254. (error)210 2496 A
  255. 2748(*/)S
  256. 3240 V
  257. (17526)210 648 A
  258. (ubuf_ptr)336 1362 A
  259. 1740(+=)S
  260. (bytes;)252 1866 A
  261. 3330 V
  262. (17527)210 648 A
  263. (seg_bytes)378 1362 A
  264. 1782(-=)S
  265. (bytes;)252 1908 A
  266. 3420 V
  267. (17528)210 648 A
  268. 1110(})S
  269. 3510 V
  270. (17529)210 648 A
  271. 1026(})S
  272. 3780 V
  273. (17532)210 648 A
  274. (/*===========================================================================*)3276 1026 A
  275. 3870 V
  276. (17533)210 648 A
  277. 1068(*)S
  278. (find_share)420 2370 A
  279. 4260(*)S
  280. 3960 V
  281. (17534)210 648 A
  282. (*===========================================================================*/)3276 1068 A
  283. 4050 V
  284. (17535)210 648 A
  285. (PUBLIC)252 1026 A
  286. (struct)252 1320 A
  287. (mproc)210 1614 A
  288. (*find_share(mp_ign,)798 1866 A
  289. (ino,)168 2706 A
  290. (dev,)168 2916 A
  291. (ctime))252 3126 A
  292. 4140 V
  293. (17536)210 648 A
  294. (struct)252 1026 A
  295. (mproc)210 1320 A
  296. (*mp_ign;)336 1572 A
  297. 2370(/*)S
  298. (process)294 2496 A
  299. (that)168 2832 A
  300. (should)252 3042 A
  301. (not)126 3336 A
  302. 3504(be)S
  303. (looked)252 3630 A
  304. 3924(at)S
  305. 4050(*/)S
  306. 4230 V
  307. (17537)210 648 A
  308. (ino_t)210 1026 A
  309. (ino;)168 1278 A
  310. 2370(/*)S
  311. (parameters)420 2496 A
  312. (that)168 2958 A
  313. (uniquely)336 3168 A
  314. (identify)336 3546 A
  315. 3924(a)S
  316. (file)168 4008 A
  317. 4218(*/)S
  318. 4320 V
  319. (17538)210 648 A
  320. (dev_t)210 1026 A
  321. (dev;)168 1278 A
  322. 4410 V
  323. (17539)210 648 A
  324. (time_t)252 1026 A
  325. (ctime;)252 1320 A
  326. 4500 V
  327. (17540)210 648 A
  328. 1026({)S
  329. 4590 V
  330. (17541)210 648 A
  331. 1026(/*)S
  332. (Look)168 1152 A
  333. (for)126 1362 A
  334. 1530(a)S
  335. (process)294 1614 A
  336. (that)168 1950 A
  337. 2160(is)S
  338. (the)126 2286 A
  339. (file)168 2454 A
  340. (<ino,)210 2664 A
  341. (dev,)168 2916 A
  342. (ctime>)252 3126 A
  343. 3420(in)S
  344. (execution.)420 3546 A
  345. (Don't)210 4050 A
  346. 4680 V
  347. (17542)210 648 A
  348. 1068(*)S
  349. (accidentally)504 1152 A
  350. ("find")252 1698 A
  351. (mp_ign,)294 1992 A
  352. (because)294 2328 A
  353. 2664(it)S
  354. 2790(is)S
  355. (the)126 2916 A
  356. (process)294 3084 A
  357. 3420(on)S
  358. (whose)210 3546 A
  359. (behalf)252 3798 A
  360. (this)168 4092 A
  361. 4770 V
  362. (17543)210 648 A
  363. 1068(*)S
  364. (call)168 1152 A
  365. 1362(is)S
  366. (made.)210 1488 A
  367. 4860 V
  368. (17544)210 648 A
  369. 1068(*/)S
  370. 4950 V
  371. (17545)210 648 A
  372. (struct)252 1110 A
  373. (mproc)210 1404 A
  374. (*sh_mp;)294 1656 A
  375. 5040 V
  376. (17546)210 648 A
  377. 5130 V
  378. (17547)210 648 A
  379. (for)126 1110 A
  380. ((sh_mp)252 1278 A
  381. 1572(=)S
  382. (&mproc[INIT_PROC_NR];)882 1656 A
  383. (sh_mp)210 2580 A
  384. 2832(<)S
  385. (&mproc[NR_PROCS];)714 2916 A
  386. (sh_mp++))336 3672 A
  387. 4050({)S
  388. 5220 V
  389. (17548)210 648 A
  390. 1362(if)S
  391. (((sh_mp->mp_flags)714 1488 A
  392. 2244(&)S
  393. ((IN_USE)294 2328 A
  394. 2664(|)S
  395. (HANGING)294 2748 A
  396. 3084(|)S
  397. (SEPARATE)))420 3168 A
  398. 5310 V
  399. (17549)210 648 A
  400. 2706(!=)S
  401. ((IN_USE)294 2832 A
  402. 3168(|)S
  403. (SEPARATE)))420 3252 A
  404. (continue;)378 3714 A
  405. 5400 V
  406. (17550)210 648 A
  407. 1362(if)S
  408. ((sh_mp)252 1488 A
  409. 1782(==)S
  410. (mp_ign))294 1908 A
  411. (continue;)378 2244 A
  412. 5490 V
  413. (17551)210 648 A
  414. 1362(if)S
  415. ((sh_mp->mp_ino)588 1488 A
  416. 2118(!=)S
  417. (ino))168 2244 A
  418. (continue;)378 2454 A
  419. 5580 V
  420. (17552)210 648 A
  421. 1362(if)S
  422. ((sh_mp->mp_dev)588 1488 A
  423. 2118(!=)S
  424. (dev))168 2244 A
  425. (continue;)378 2454 A
  426. 5670 V
  427. (17553)210 648 A
  428. 1362(if)S
  429. ((sh_mp->mp_ctime)672 1488 A
  430. 2202(!=)S
  431. (ctime))252 2328 A
  432. (continue;)378 2622 A
  433. 5760 V
  434. (17554)210 648 A
  435. (return)252 1362 A
  436. (sh_mp;)252 1656 A
  437. 5850 V
  438. (17555)210 648 A
  439. 1110(})S
  440. 5940 V
  441. (17556)210 648 A
  442. (return(NULL);)546 1110 A
  443. 6030 V
  444. (17557)210 648 A
  445. 1026(})S
  446. 8418 V
  447. EP
  448. %%Page: 244 244
  449. BP
  450. /slant 0 def
  451. /height 0 def
  452. 630 V
  453. 12 B
  454. (244)180 648 A
  455. 11 R
  456. 2077(File:)S
  457. 2310(src/mm/break.c)S
  458. 10 R
  459. 3402(MINIX)S
  460. 3730(SOURCE)S
  461. 4153(CODE)S
  462. 990 V
  463. 7 LST
  464. (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
  465. 1080 V
  466. (src/mm/break.c)588 2034 A
  467. 1170 V
  468. (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
  469. 1350 V
  470. (17600)210 648 A
  471. 1026(/*)S
  472. (The)126 1152 A
  473. (MINIX)210 1320 A
  474. (model)210 1572 A
  475. 1824(of)S
  476. (memory)252 1950 A
  477. (allocation)420 2244 A
  478. (reserves)336 2706 A
  479. 3084(a)S
  480. (fixed)210 3168 A
  481. (amount)252 3420 A
  482. 3714(of)S
  483. (memory)252 3840 A
  484. (for)126 4134 A
  485. 1440 V
  486. (17601)210 648 A
  487. 1068(*)S
  488. (the)126 1152 A
  489. (combined)336 1320 A
  490. (text,)210 1698 A
  491. (data,)210 1950 A
  492. (and)126 2202 A
  493. (stack)210 2370 A
  494. (segments.)378 2622 A
  495. (The)126 3084 A
  496. (amount)252 3252 A
  497. (used)168 3546 A
  498. (for)126 3756 A
  499. 3924(a)S
  500. (child)210 4008 A
  501. 1530 V
  502. (17602)210 648 A
  503. 1068(*)S
  504. (process)294 1152 A
  505. (created)294 1488 A
  506. 1824(by)S
  507. (FORK)168 1950 A
  508. 2160(is)S
  509. (the)126 2286 A
  510. (same)168 2454 A
  511. 2664(as)S
  512. (the)126 2790 A
  513. (parent)252 2958 A
  514. (had.)168 3252 A
  515. 3504(If)S
  516. (the)126 3630 A
  517. (child)210 3798 A
  518. (does)168 4050 A
  519. 1620 V
  520. (17603)210 648 A
  521. 1068(*)S
  522. 1152(an)S
  523. (EXEC)168 1278 A
  524. (later,)252 1488 A
  525. (the)126 1782 A
  526. (new)126 1950 A
  527. (size)168 2118 A
  528. 2328(is)S
  529. (taken)210 2454 A
  530. (from)168 2706 A
  531. (the)126 2916 A
  532. (header)252 3084 A
  533. 3378(of)S
  534. (the)126 3504 A
  535. (file)168 3672 A
  536. (EXEC'ed.)336 3882 A
  537. 1710 V
  538. (17604)210 648 A
  539. 1068(*)S
  540. 1800 V
  541. (17605)210 648 A
  542. 1068(*)S
  543. (The)126 1152 A
  544. (layout)252 1320 A
  545. 1614(in)S
  546. (memory)252 1740 A
  547. (consists)336 2034 A
  548. 2412(of)S
  549. (the)126 2538 A
  550. (text)168 2706 A
  551. (segment,)336 2916 A
  552. (followed)336 3294 A
  553. 3672(by)S
  554. (the)126 3798 A
  555. (data)168 3966 A
  556. 1890 V
  557. (17606)210 648 A
  558. 1068(*)S
  559. (segment,)336 1152 A
  560. (followed)336 1530 A
  561. 1908(by)S
  562. 2034(a)S
  563. (gap)126 2118 A
  564. ((unused)294 2286 A
  565. (memory),)336 2622 A
  566. (followed)336 3000 A
  567. 3378(by)S
  568. (the)126 3504 A
  569. (stack)210 3672 A
  570. (segment.)336 3924 A
  571. 1980 V
  572. (17607)210 648 A
  573. 1068(*)S
  574. (The)126 1152 A
  575. (data)168 1320 A
  576. (segment)294 1530 A
  577. (grows)210 1866 A
  578. (upward)252 2118 A
  579. (and)126 2412 A
  580. (the)126 2580 A
  581. (stack)210 2748 A
  582. (grows)210 3000 A
  583. (downward,)378 3252 A
  584. 3672(so)S
  585. (each)168 3798 A
  586. (can)126 4008 A
  587. 2070 V
  588. (17608)210 648 A
  589. 1068(*)S
  590. (take)168 1152 A
  591. (memory)252 1362 A
  592. (from)168 1656 A
  593. (the)126 1866 A
  594. (gap.)168 2034 A
  595. 2286(If)S
  596. (they)168 2412 A
  597. (meet,)210 2622 A
  598. (the)126 2874 A
  599. (process)294 3042 A
  600. (must)168 3378 A
  601. 3588(be)S
  602. (killed.)294 3714 A
  603. (The)126 4092 A
  604. 2160 V
  605. (17609)210 648 A
  606. 1068(*)S
  607. (procedures)420 1152 A
  608. 1614(in)S
  609. (this)168 1740 A
  610. (file)168 1950 A
  611. (deal)168 2160 A
  612. (with)168 2370 A
  613. (the)126 2580 A
  614. (growth)252 2748 A
  615. 3042(of)S
  616. (the)126 3168 A
  617. (data)168 3336 A
  618. (and)126 3546 A
  619. (stack)210 3714 A
  620. (segments.)378 3966 A
  621. 2250 V
  622. (17610)210 648 A
  623. 1068(*)S
  624. 2340 V
  625. (17611)210 648 A
  626. 1068(*)S
  627. (The)126 1152 A
  628. (entry)210 1320 A
  629. (points)252 1572 A
  630. (into)168 1866 A
  631. (this)168 2076 A
  632. (file)168 2286 A
  633. (are:)168 2496 A
  634. 2430 V
  635. (17612)210 648 A
  636. 1068(*)S
  637. (do_brk:)294 1236 A
  638. (BRK/SBRK)336 1782 A
  639. (system)252 2160 A
  640. (calls)210 2454 A
  641. 2706(to)S
  642. (grow)168 2832 A
  643. 3042(or)S
  644. (shrink)252 3168 A
  645. (the)126 3462 A
  646. (data)168 3630 A
  647. (segment)294 3840 A
  648. 2520 V
  649. (17613)210 648 A
  650. 1068(*)S
  651. (adjust:)294 1236 A
  652. (see)126 1782 A
  653. 1950(if)S
  654. 2076(a)S
  655. (proposed)336 2160 A
  656. (segment)294 2538 A
  657. (adjustment)420 2874 A
  658. 3336(is)S
  659. (allowed)294 3462 A
  660. 2610 V
  661. (17614)210 648 A
  662. 1068(*)S
  663. (size_ok:)336 1236 A
  664. (see)126 1782 A
  665. 1950(if)S
  666. (the)126 2076 A
  667. (segment)294 2244 A
  668. (sizes)210 2580 A
  669. (are)126 2832 A
  670. (feasible)336 3000 A
  671. 2700 V
  672. (17615)210 648 A
  673. 1068(*/)S
  674. 2790 V
  675. (17616)210 648 A
  676. 2880 V
  677. (17617)210 648 A
  678. (#include)336 1026 A
  679. ("mm.h")252 1404 A
  680. 2970 V
  681. (17618)210 648 A
  682. (#include)336 1026 A
  683. (<signal.h>)420 1404 A
  684. 3060 V
  685. (17619)210 648 A
  686. (#include)336 1026 A
  687. ("mproc.h")378 1404 A
  688. 3150 V
  689. (17620)210 648 A
  690. (#include)336 1026 A
  691. ("param.h")378 1404 A
  692. 3240 V
  693. (17621)210 648 A
  694. 3330 V
  695. (17622)210 648 A
  696. (#define)294 1026 A
  697. (DATA_CHANGED)504 1362 A
  698. 2160(1)S
  699. 2370(/*)S
  700. (flag)168 2496 A
  701. (value)210 2706 A
  702. (when)168 2958 A
  703. (data)168 3168 A
  704. (segment)294 3378 A
  705. (size)168 3714 A
  706. (changed)294 3924 A
  707. 4260(*/)S
  708. 3420 V
  709. (17623)210 648 A
  710. (#define)294 1026 A
  711. (STACK_CHANGED)546 1362 A
  712. 2160(2)S
  713. 2370(/*)S
  714. (flag)168 2496 A
  715. (value)210 2706 A
  716. (when)168 2958 A
  717. (stack)210 3168 A
  718. (size)168 3420 A
  719. (changed)294 3630 A
  720. 3966(*/)S
  721. 3510 V
  722. (17624)210 648 A
  723. 3600 V
  724. (17625)210 648 A
  725. (/*===========================================================================*)3276 1026 A
  726. 3690 V
  727. (17626)210 648 A
  728. 1068(*)S
  729. (do_brk)252 2370 A
  730. 4260(*)S
  731. 3780 V
  732. (17627)210 648 A
  733. (*===========================================================================*/)3276 1068 A
  734. 3870 V
  735. (17628)210 648 A
  736. (PUBLIC)252 1026 A
  737. (int)126 1320 A
  738. (do_brk())336 1488 A
  739. 3960 V
  740. (17629)210 648 A
  741. 1026({)S
  742. 4050 V
  743. (17630)210 648 A
  744. 1026(/*)S
  745. (Perform)294 1152 A
  746. (the)126 1488 A
  747. (brk(addr))378 1656 A
  748. (system)252 2076 A
  749. (call.)210 2370 A
  750. 4140 V
  751. (17631)210 648 A
  752. 1068(*)S
  753. 4230 V
  754. (17632)210 648 A
  755. 1068(*)S
  756. (The)126 1152 A
  757. (call)168 1320 A
  758. 1530(is)S
  759. (complicated)462 1656 A
  760. 2160(by)S
  761. (the)126 2286 A
  762. (fact)168 2454 A
  763. (that)168 2664 A
  764. 2874(on)S
  765. (some)168 3000 A
  766. (machines)336 3210 A
  767. ((e.g.,)252 3588 A
  768. (8088),)252 3882 A
  769. 4320 V
  770. (17633)210 648 A
  771. 1068(*)S
  772. (the)126 1152 A
  773. (stack)210 1320 A
  774. (pointer)294 1572 A
  775. (can)126 1908 A
  776. (grow)168 2076 A
  777. (beyond)252 2286 A
  778. (the)126 2580 A
  779. (base)168 2748 A
  780. 2958(of)S
  781. (the)126 3084 A
  782. (stack)210 3252 A
  783. (segment)294 3504 A
  784. (without)294 3840 A
  785. 4410 V
  786. (17634)210 648 A
  787. 1068(*)S
  788. (anybody)294 1152 A
  789. (noticing)336 1488 A
  790. (it.)126 1866 A
  791. 4500 V
  792. (17635)210 648 A
  793. 1068(*)S
  794. (The)126 1152 A
  795. (parameter,)420 1320 A
  796. ('addr')252 1782 A
  797. 2076(is)S
  798. (the)126 2202 A
  799. (new)126 2370 A
  800. (virtual)294 2538 A
  801. (address)294 2874 A
  802. 3210(in)S
  803. 3336(D)S
  804. (space.)252 3420 A
  805. 4590 V
  806. (17636)210 648 A
  807. 1068(*/)S
  808. 4680 V
  809. (17637)210 648 A
  810. 4770 V
  811. (17638)210 648 A
  812. (register)336 1110 A
  813. (struct)252 1488 A
  814. (mproc)210 1782 A
  815. (*rmp;)210 2034 A
  816. 4860 V
  817. (17639)210 648 A
  818. (int)126 1110 A
  819. 1278(r;)S
  820. 4950 V
  821. (17640)210 648 A
  822. (vir_bytes)378 1110 A
  823. 1530(v,)S
  824. (new_sp;)294 1656 A
  825. 5040 V
  826. (17641)210 648 A
  827. (vir_clicks)420 1110 A
  828. (new_clicks;)462 1572 A
  829. 5130 V
  830. (17642)210 648 A
  831. 5220 V
  832. (17643)210 648 A
  833. (rmp)126 1110 A
  834. 1278(=)S
  835. (mp;)126 1362 A
  836. 5310 V
  837. (17644)210 648 A
  838. 1110(v)S
  839. 1194(=)S
  840. ((vir_bytes))462 1278 A
  841. (addr;)210 1782 A
  842. 5400 V
  843. (17645)210 648 A
  844. (new_clicks)420 1110 A
  845. 1572(=)S
  846. ((vir_clicks))504 1656 A
  847. 2202(()S
  848. (((long))294 2286 A
  849. 2622(v)S
  850. 2706(+)S
  851. (CLICK_SIZE)420 2790 A
  852. 3252(-)S
  853. 3336(1))S
  854. 3462(>>)S
  855. (CLICK_SHIFT);)546 3588 A
  856. 5490 V
  857. (17646)210 648 A
  858. 1110(if)S
  859. ((new_clicks)462 1236 A
  860. 1740(<)S
  861. (rmp->mp_seg[D].mem_vir))966 1824 A
  862. 2832({)S
  863. 5580 V
  864. (17647)210 648 A
  865. (res_ptr)294 1362 A
  866. 1698(=)S
  867. ((char)210 1782 A
  868. 2034(*))S
  869. (-1;)126 2160 A
  870. 5670 V
  871. (17648)210 648 A
  872. (return(ENOMEM);)630 1362 A
  873. 5760 V
  874. (17649)210 648 A
  875. 1110(})S
  876. 5850 V
  877. (17650)210 648 A
  878. (new_clicks)420 1110 A
  879. 1572(-=)S
  880. (rmp->mp_seg[D].mem_vir;)966 1698 A
  881. 5940 V
  882. (17651)210 648 A
  883. (sys_getsp(who,)588 1110 A
  884. (&new_sp);)378 1740 A
  885. 2370(/*)S
  886. (ask)126 2496 A
  887. (kernel)252 2664 A
  888. (for)126 2958 A
  889. (current)294 3126 A
  890. 3462(sp)S
  891. (value)210 3588 A
  892. 3840(*/)S
  893. 6030 V
  894. (17652)210 648 A
  895. 1110(r)S
  896. 1194(=)S
  897. (adjust(rmp,)462 1278 A
  898. (new_clicks,)462 1782 A
  899. (new_sp);)336 2286 A
  900. 6120 V
  901. (17653)210 648 A
  902. (res_ptr)294 1110 A
  903. 1446(=)S
  904. 1530((r)S
  905. 1656(==)S
  906. 1782(OK)S
  907. 1908(?)S
  908. (addr)168 1992 A
  909. 2202(:)S
  910. ((char)210 2286 A
  911. 2538(*))S
  912. (-1);)168 2664 A
  913. 6210 V
  914. (17654)210 648 A
  915. (return(r);)420 1110 A
  916. 2370(/*)S
  917. (return)252 2496 A
  918. (new)126 2790 A
  919. (address)294 2958 A
  920. 3294(or)S
  921. 3420(-1)S
  922. 3546(*/)S
  923. 8418 V
  924. EP
  925. %%Page: 245 245
  926. BP
  927. /slant 0 def
  928. /height 0 def
  929. 630 V
  930. 10 R
  931. 648(MINIX)S
  932. 976(SOURCE)S
  933. 1399(CODE)S
  934. 11 R
  935. 2077(File:)S
  936. 2310(src/mm/break.c)S
  937. 12 B
  938. (245)180 4248 A
  939. 900 V
  940. 7 LST
  941. (17655)210 648 A
  942. 1026(})S
  943. 1170 V
  944. (17658)210 648 A
  945. (/*===========================================================================*)3276 1026 A
  946. 1260 V
  947. (17659)210 648 A
  948. 1068(*)S
  949. (adjust)252 2370 A
  950. 4260(*)S
  951. 1350 V
  952. (17660)210 648 A
  953. (*===========================================================================*/)3276 1068 A
  954. 1440 V
  955. (17661)210 648 A
  956. (PUBLIC)252 1026 A
  957. (int)126 1320 A
  958. (adjust(rmp,)462 1488 A
  959. (data_clicks,)504 1992 A
  960. (sp))126 2538 A
  961. 1530 V
  962. (17662)210 648 A
  963. (register)336 1026 A
  964. (struct)252 1404 A
  965. (mproc)210 1698 A
  966. (*rmp;)210 1950 A
  967. 2370(/*)S
  968. (whose)210 2496 A
  969. (memory)252 2748 A
  970. 3042(is)S
  971. (being)210 3168 A
  972. (adjusted?)378 3420 A
  973. 3840(*/)S
  974. 1620 V
  975. (17663)210 648 A
  976. (vir_clicks)420 1026 A
  977. (data_clicks;)504 1488 A
  978. 2370(/*)S
  979. (how)126 2496 A
  980. (big)126 2664 A
  981. 2832(is)S
  982. (data)168 2958 A
  983. (segment)294 3168 A
  984. 3504(to)S
  985. (become?)294 3630 A
  986. 3966(*/)S
  987. 1710 V
  988. (17664)210 648 A
  989. (vir_bytes)378 1026 A
  990. (sp;)126 1446 A
  991. 2370(/*)S
  992. (new)126 2496 A
  993. (value)210 2664 A
  994. 2916(of)S
  995. 3042(sp)S
  996. 3168(*/)S
  997. 1800 V
  998. (17665)210 648 A
  999. 1026({)S
  1000. 1890 V
  1001. (17666)210 648 A
  1002. 1026(/*)S
  1003. (See)126 1152 A
  1004. 1320(if)S
  1005. (data)168 1446 A
  1006. (and)126 1656 A
  1007. (stack)210 1824 A
  1008. (segments)336 2076 A
  1009. (can)126 2454 A
  1010. (coexist,)336 2622 A
  1011. (adjusting)378 3000 A
  1012. (them)168 3420 A
  1013. 3630(if)S
  1014. (need)168 3756 A
  1015. (be.)126 3966 A
  1016. 1980 V
  1017. (17667)210 648 A
  1018. 1068(*)S
  1019. (Memory)252 1152 A
  1020. 1446(is)S
  1021. (never)210 1572 A
  1022. (allocated)378 1824 A
  1023. 2244(or)S
  1024. (freed.)252 2370 A
  1025. (Instead)294 2706 A
  1026. 3042(it)S
  1027. 3168(is)S
  1028. (added)210 3294 A
  1029. 3546(or)S
  1030. (removed)294 3672 A
  1031. (from)168 4008 A
  1032. (the)126 4218 A
  1033. 2070 V
  1034. (17668)210 648 A
  1035. 1068(*)S
  1036. (gap)126 1152 A
  1037. (between)294 1320 A
  1038. (data)168 1656 A
  1039. (segment)294 1866 A
  1040. (and)126 2202 A
  1041. (stack)210 2370 A
  1042. (segment.)336 2622 A
  1043. 3042(If)S
  1044. (the)126 3168 A
  1045. (gap)126 3336 A
  1046. (size)168 3504 A
  1047. (becomes)294 3714 A
  1048. 2160 V
  1049. (17669)210 648 A
  1050. 1068(*)S
  1051. (negative,)378 1152 A
  1052. (the)126 1572 A
  1053. (adjustment)420 1740 A
  1054. 2202(of)S
  1055. (data)168 2328 A
  1056. 2538(or)S
  1057. (stack)210 2664 A
  1058. (fails)210 2916 A
  1059. (and)126 3168 A
  1060. (ENOMEM)252 3336 A
  1061. 3630(is)S
  1062. (returned.)378 3756 A
  1063. 2250 V
  1064. (17670)210 648 A
  1065. 1068(*/)S
  1066. 2340 V
  1067. (17671)210 648 A
  1068. 2430 V
  1069. (17672)210 648 A
  1070. (register)336 1110 A
  1071. (struct)252 1488 A
  1072. (mem_map)294 1782 A
  1073. (*mem_sp,)336 2118 A
  1074. (*mem_dp;)336 2496 A
  1075. 2520 V
  1076. (17673)210 648 A
  1077. (vir_clicks)420 1110 A
  1078. (sp_click,)378 1572 A
  1079. (gap_base,)378 1992 A
  1080. (lower,)252 2412 A
  1081. (old_clicks;)462 2706 A
  1082. 2610 V
  1083. (17674)210 648 A
  1084. (int)126 1110 A
  1085. (changed,)336 1278 A
  1086. 1656(r,)S
  1087. (ft;)126 1782 A
  1088. 2700 V
  1089. (17675)210 648 A
  1090. (long)168 1110 A
  1091. (base_of_stack,)588 1320 A
  1092. (delta;)252 1950 A
  1093. 2370(/*)S
  1094. (longs)210 2496 A
  1095. (avoid)210 2748 A
  1096. (certain)294 3000 A
  1097. (problems)336 3336 A
  1098. 3714(*/)S
  1099. 2790 V
  1100. (17676)210 648 A
  1101. 2880 V
  1102. (17677)210 648 A
  1103. (mem_dp)252 1110 A
  1104. 1404(=)S
  1105. (&rmp->mp_seg[D];)672 1488 A
  1106. 2370(/*)S
  1107. (pointer)294 2496 A
  1108. 2832(to)S
  1109. (data)168 2958 A
  1110. (segment)294 3168 A
  1111. (map)126 3504 A
  1112. 3672(*/)S
  1113. 2970 V
  1114. (17678)210 648 A
  1115. (mem_sp)252 1110 A
  1116. 1404(=)S
  1117. (&rmp->mp_seg[S];)672 1488 A
  1118. 2370(/*)S
  1119. (pointer)294 2496 A
  1120. 2832(to)S
  1121. (stack)210 2958 A
  1122. (segment)294 3210 A
  1123. (map)126 3546 A
  1124. 3714(*/)S
  1125. 3060 V
  1126. (17679)210 648 A
  1127. (changed)294 1110 A
  1128. 1446(=)S
  1129. 1530(0;)S
  1130. 2370(/*)S
  1131. (set)126 2496 A
  1132. (when)168 2664 A
  1133. (either)252 2874 A
  1134. (segment)294 3168 A
  1135. (changed)294 3504 A
  1136. 3840(*/)S
  1137. 3150 V
  1138. (17680)210 648 A
  1139. 3240 V
  1140. (17681)210 648 A
  1141. 1110(if)S
  1142. ((mem_sp->mem_len)672 1236 A
  1143. 1950(==)S
  1144. 2076(0))S
  1145. (return(OK);)462 2202 A
  1146. 2706(/*)S
  1147. (don't)210 2832 A
  1148. (bother)252 3084 A
  1149. (init)168 3378 A
  1150. 3588(*/)S
  1151. 3330 V
  1152. (17682)210 648 A
  1153. 3420 V
  1154. (17683)210 648 A
  1155. 1110(/*)S
  1156. (See)126 1236 A
  1157. 1404(if)S
  1158. (stack)210 1530 A
  1159. (size)168 1782 A
  1160. (has)126 1992 A
  1161. (gone)168 2160 A
  1162. (negative)336 2370 A
  1163. ((i.e.,)252 2748 A
  1164. 3042(sp)S
  1165. (too)126 3168 A
  1166. (close)210 3336 A
  1167. 3588(to)S
  1168. (0xFFFF...))420 3714 A
  1169. 4176(*/)S
  1170. 3510 V
  1171. (17684)210 648 A
  1172. (base_of_stack)546 1110 A
  1173. 1698(=)S
  1174. ((long))252 1782 A
  1175. (mem_sp->mem_vir)630 2076 A
  1176. 2748(+)S
  1177. ((long))252 2832 A
  1178. (mem_sp->mem_len;)672 3126 A
  1179. 3600 V
  1180. (17685)210 648 A
  1181. (sp_click)336 1110 A
  1182. 1488(=)S
  1183. 1572(sp)S
  1184. 1698(>>)S
  1185. (CLICK_SHIFT;)504 1824 A
  1186. 2370(/*)S
  1187. (click)210 2496 A
  1188. (containing)420 2748 A
  1189. 3210(sp)S
  1190. 3336(*/)S
  1191. 3690 V
  1192. (17686)210 648 A
  1193. 1110(if)S
  1194. ((sp_click)378 1236 A
  1195. 1656(>=)S
  1196. (base_of_stack))588 1782 A
  1197. (return(ENOMEM);)630 2412 A
  1198. 3378(/*)S
  1199. 3504(sp)S
  1200. (too)126 3630 A
  1201. (high)168 3798 A
  1202. 4008(*/)S
  1203. 3780 V
  1204. (17687)210 648 A
  1205. 3870 V
  1206. (17688)210 648 A
  1207. 1110(/*)S
  1208. (Compute)294 1236 A
  1209. (size)168 1572 A
  1210. 1782(of)S
  1211. (gap)126 1908 A
  1212. (between)294 2076 A
  1213. (stack)210 2412 A
  1214. (and)126 2664 A
  1215. (data)168 2832 A
  1216. (segments.)378 3042 A
  1217. 3462(*/)S
  1218. 3960 V
  1219. (17689)210 648 A
  1220. (delta)210 1110 A
  1221. 1362(=)S
  1222. ((long))252 1446 A
  1223. (mem_sp->mem_vir)630 1740 A
  1224. 2412(-)S
  1225. ((long))252 2496 A
  1226. (sp_click;)378 2790 A
  1227. 4050 V
  1228. (17690)210 648 A
  1229. (lower)210 1110 A
  1230. 1362(=)S
  1231. ((delta)252 1446 A
  1232. 1740(>)S
  1233. 1824(0)S
  1234. 1908(?)S
  1235. (sp_click)336 1992 A
  1236. 2370(:)S
  1237. (mem_sp->mem_vir);)714 2454 A
  1238. 4140 V
  1239. (17691)210 648 A
  1240. 4230 V
  1241. (17692)210 648 A
  1242. 1110(/*)S
  1243. (Add)126 1236 A
  1244. 1404(a)S
  1245. (safety)252 1488 A
  1246. (margin)252 1782 A
  1247. (for)126 2076 A
  1248. (future)252 2244 A
  1249. (stack)210 2538 A
  1250. (growth.)294 2790 A
  1251. (Impossible)420 3126 A
  1252. 3588(to)S
  1253. 3714(do)S
  1254. (right.)252 3840 A
  1255. 4134(*/)S
  1256. 4320 V
  1257. (17693)210 648 A
  1258. (#define)294 1026 A
  1259. (SAFETY_BYTES)504 1362 A
  1260. ((384)168 1950 A
  1261. 2160(*)S
  1262. (sizeof(char)462 2244 A
  1263. (*)))126 2748 A
  1264. 4410 V
  1265. (17694)210 648 A
  1266. (#define)294 1026 A
  1267. (SAFETY_CLICKS)546 1362 A
  1268. (((SAFETY_BYTES)588 1950 A
  1269. 2580(+)S
  1270. (CLICK_SIZE)420 2664 A
  1271. 3126(-)S
  1272. 3210(1))S
  1273. 3336(/)S
  1274. (CLICK_SIZE))462 3420 A
  1275. 4500 V
  1276. (17695)210 648 A
  1277. (gap_base)336 1110 A
  1278. 1488(=)S
  1279. (mem_dp->mem_vir)630 1572 A
  1280. 2244(+)S
  1281. (data_clicks)462 2328 A
  1282. 2832(+)S
  1283. (SAFETY_CLICKS;)588 2916 A
  1284. 4590 V
  1285. (17696)210 648 A
  1286. 1110(if)S
  1287. ((lower)252 1236 A
  1288. 1530(<)S
  1289. (gap_base))378 1614 A
  1290. (return(ENOMEM);)630 2034 A
  1291. 2706(/*)S
  1292. (data)168 2832 A
  1293. (and)126 3042 A
  1294. (stack)210 3210 A
  1295. (collided)336 3462 A
  1296. 3840(*/)S
  1297. 4680 V
  1298. (17697)210 648 A
  1299. 4770 V
  1300. (17698)210 648 A
  1301. 1110(/*)S
  1302. (Update)252 1236 A
  1303. (data)168 1530 A
  1304. (length)252 1740 A
  1305. ((but)168 2034 A
  1306. (not)126 2244 A
  1307. (data)168 2412 A
  1308. (orgin))252 2622 A
  1309. 2916(on)S
  1310. (behalf)252 3042 A
  1311. 3336(of)S
  1312. (brk())210 3462 A
  1313. (system)252 3714 A
  1314. (call.)210 4008 A
  1315. 4260(*/)S
  1316. 4860 V
  1317. (17699)210 648 A
  1318. (old_clicks)420 1110 A
  1319. 1572(=)S
  1320. (mem_dp->mem_len;)672 1656 A
  1321. 4950 V
  1322. (17700)210 648 A
  1323. 1110(if)S
  1324. ((data_clicks)504 1236 A
  1325. 1782(!=)S
  1326. (mem_dp->mem_len))672 1908 A
  1327. 2622({)S
  1328. 5040 V
  1329. (17701)210 648 A
  1330. (mem_dp->mem_len)630 1362 A
  1331. 2034(=)S
  1332. (data_clicks;)504 2118 A
  1333. 5130 V
  1334. (17702)210 648 A
  1335. (changed)294 1362 A
  1336. 1698(|=)S
  1337. (DATA_CHANGED;)546 1824 A
  1338. 5220 V
  1339. (17703)210 648 A
  1340. 1110(})S
  1341. 5310 V
  1342. (17704)210 648 A
  1343. 5400 V
  1344. (17705)210 648 A
  1345. 1110(/*)S
  1346. (Update)252 1236 A
  1347. (stack)210 1530 A
  1348. (length)252 1782 A
  1349. (and)126 2076 A
  1350. (origin)252 2244 A
  1351. (due)126 2538 A
  1352. 2706(to)S
  1353. (change)252 2832 A
  1354. 3126(in)S
  1355. (stack)210 3252 A
  1356. (pointer.)336 3504 A
  1357. 3882(*/)S
  1358. 5490 V
  1359. (17706)210 648 A
  1360. 1110(if)S
  1361. ((delta)252 1236 A
  1362. 1530(>)S
  1363. 1614(0))S
  1364. 1740({)S
  1365. 5580 V
  1366. (17707)210 648 A
  1367. (mem_sp->mem_vir)630 1362 A
  1368. 2034(-=)S
  1369. (delta;)252 2160 A
  1370. 5670 V
  1371. (17708)210 648 A
  1372. (mem_sp->mem_phys)672 1362 A
  1373. 2076(-=)S
  1374. (delta;)252 2202 A
  1375. 5760 V
  1376. (17709)210 648 A
  1377. (mem_sp->mem_len)630 1362 A
  1378. 2034(+=)S
  1379. (delta;)252 2160 A
  1380. 5850 V
  1381. (17710)210 648 A
  1382. (changed)294 1362 A
  1383. 1698(|=)S
  1384. (STACK_CHANGED;)588 1824 A
  1385. 5940 V
  1386. (17711)210 648 A
  1387. 1110(})S
  1388. 6030 V
  1389. (17712)210 648 A
  1390. 6120 V
  1391. (17713)210 648 A
  1392. 1110(/*)S
  1393. 1236(Do)S
  1394. (the)126 1362 A
  1395. (new)126 1530 A
  1396. (data)168 1698 A
  1397. (and)126 1908 A
  1398. (stack)210 2076 A
  1399. (segment)294 2328 A
  1400. (sizes)210 2664 A
  1401. (fit)126 2916 A
  1402. 3084(in)S
  1403. (the)126 3210 A
  1404. (address)294 3378 A
  1405. (space?)252 3714 A
  1406. 4008(*/)S
  1407. 6210 V
  1408. (17714)210 648 A
  1409. 1110(ft)S
  1410. 1236(=)S
  1411. ((rmp->mp_flags)588 1320 A
  1412. 1950(&)S
  1413. (SEPARATE);)420 2034 A
  1414. 8418 V
  1415. EP
  1416. %%Page: 246 246
  1417. BP
  1418. /slant 0 def
  1419. /height 0 def
  1420. 630 V
  1421. 12 B
  1422. (246)180 648 A
  1423. 11 R
  1424. 2077(File:)S
  1425. 2310(src/mm/break.c)S
  1426. 10 R
  1427. 3402(MINIX)S
  1428. 3730(SOURCE)S
  1429. 4153(CODE)S
  1430. 900 V
  1431. 7 LST
  1432. (17715)210 648 A
  1433. 1110(r)S
  1434. 1194(=)S
  1435. (size_ok(ft,)462 1278 A
  1436. (rmp->mp_seg[T].mem_len,)966 1782 A
  1437. (rmp->mp_seg[D].mem_len,)966 2790 A
  1438. 990 V
  1439. (17716)210 648 A
  1440. (rmp->mp_seg[S].mem_len,)966 1320 A
  1441. (rmp->mp_seg[D].mem_vir,)966 2328 A
  1442. (rmp->mp_seg[S].mem_vir);)1008 3336 A
  1443. 1080 V
  1444. (17717)210 648 A
  1445. 1110(if)S
  1446. 1236((r)S
  1447. 1362(==)S
  1448. (OK))126 1488 A
  1449. 1656({)S
  1450. 1170 V
  1451. (17718)210 648 A
  1452. 1362(if)S
  1453. ((changed))378 1488 A
  1454. (sys_newmap((int)(rmp)840 1908 A
  1455. 2790(-)S
  1456. (mproc),)294 2874 A
  1457. (rmp->mp_seg);)546 3210 A
  1458. 1260 V
  1459. (17719)210 648 A
  1460. (return(OK);)462 1362 A
  1461. 1350 V
  1462. (17720)210 648 A
  1463. 1110(})S
  1464. 1440 V
  1465. (17721)210 648 A
  1466. 1530 V
  1467. (17722)210 648 A
  1468. 1110(/*)S
  1469. (New)126 1236 A
  1470. (sizes)210 1404 A
  1471. (don't)210 1656 A
  1472. (fit)126 1908 A
  1473. 2076(or)S
  1474. (require)294 2202 A
  1475. (too)126 2538 A
  1476. (many)168 2706 A
  1477. (page/segment)504 2916 A
  1478. (registers.)420 3462 A
  1479. (Restore.*/)420 3924 A
  1480. 1620 V
  1481. (17723)210 648 A
  1482. 1110(if)S
  1483. ((changed)336 1236 A
  1484. 1614(&)S
  1485. (DATA_CHANGED))546 1698 A
  1486. (mem_dp->mem_len)630 2286 A
  1487. 2958(=)S
  1488. (old_clicks;)462 3042 A
  1489. 1710 V
  1490. (17724)210 648 A
  1491. 1110(if)S
  1492. ((changed)336 1236 A
  1493. 1614(&)S
  1494. (STACK_CHANGED))588 1698 A
  1495. 2328({)S
  1496. 1800 V
  1497. (17725)210 648 A
  1498. (mem_sp->mem_vir)630 1362 A
  1499. 2034(+=)S
  1500. (delta;)252 2160 A
  1501. 1890 V
  1502. (17726)210 648 A
  1503. (mem_sp->mem_phys)672 1362 A
  1504. 2076(+=)S
  1505. (delta;)252 2202 A
  1506. 1980 V
  1507. (17727)210 648 A
  1508. (mem_sp->mem_len)630 1362 A
  1509. 2034(-=)S
  1510. (delta;)252 2160 A
  1511. 2070 V
  1512. (17728)210 648 A
  1513. 1110(})S
  1514. 2160 V
  1515. (17729)210 648 A
  1516. (return(ENOMEM);)630 1110 A
  1517. 2250 V
  1518. (17730)210 648 A
  1519. 1026(})S
  1520. 2520 V
  1521. (17733)210 648 A
  1522. (/*===========================================================================*)3276 1026 A
  1523. 2610 V
  1524. (17734)210 648 A
  1525. 1068(*)S
  1526. (size_ok)294 2370 A
  1527. 4260(*)S
  1528. 2700 V
  1529. (17735)210 648 A
  1530. (*===========================================================================*/)3276 1068 A
  1531. 2790 V
  1532. (17736)210 648 A
  1533. (PUBLIC)252 1026 A
  1534. (int)126 1320 A
  1535. (size_ok(file_type,)756 1488 A
  1536. (tc,)126 2286 A
  1537. (dc,)126 2454 A
  1538. (sc,)126 2622 A
  1539. (dvir,)210 2790 A
  1540. (s_vir))252 3042 A
  1541. 2880 V
  1542. (17737)210 648 A
  1543. (int)126 1026 A
  1544. (file_type;)420 1194 A
  1545. 2370(/*)S
  1546. (SEPARATE)336 2496 A
  1547. 2874(or)S
  1548. 3000(0)S
  1549. 3084(*/)S
  1550. 2970 V
  1551. (17738)210 648 A
  1552. (vir_clicks)420 1026 A
  1553. (tc;)126 1488 A
  1554. 2370(/*)S
  1555. (text)168 2496 A
  1556. (size)168 2706 A
  1557. 2916(in)S
  1558. (clicks)252 3042 A
  1559. 3336(*/)S
  1560. 3060 V
  1561. (17739)210 648 A
  1562. (vir_clicks)420 1026 A
  1563. (dc;)126 1488 A
  1564. 2370(/*)S
  1565. (data)168 2496 A
  1566. (size)168 2706 A
  1567. 2916(in)S
  1568. (clicks)252 3042 A
  1569. 3336(*/)S
  1570. 3150 V
  1571. (17740)210 648 A
  1572. (vir_clicks)420 1026 A
  1573. (sc;)126 1488 A
  1574. 2370(/*)S
  1575. (stack)210 2496 A
  1576. (size)168 2748 A
  1577. 2958(in)S
  1578. (clicks)252 3084 A
  1579. 3378(*/)S
  1580. 3240 V
  1581. (17741)210 648 A
  1582. (vir_clicks)420 1026 A
  1583. (dvir;)210 1488 A
  1584. 2370(/*)S
  1585. (virtual)294 2496 A
  1586. (address)294 2832 A
  1587. (for)126 3168 A
  1588. (start)210 3336 A
  1589. 3588(of)S
  1590. (data)168 3714 A
  1591. (seg)126 3924 A
  1592. 4092(*/)S
  1593. 3330 V
  1594. (17742)210 648 A
  1595. (vir_clicks)420 1026 A
  1596. (s_vir;)252 1488 A
  1597. 2370(/*)S
  1598. (virtual)294 2496 A
  1599. (address)294 2832 A
  1600. (for)126 3168 A
  1601. (start)210 3336 A
  1602. 3588(of)S
  1603. (stack)210 3714 A
  1604. (seg)126 3966 A
  1605. 4134(*/)S
  1606. 3420 V
  1607. (17743)210 648 A
  1608. 1026({)S
  1609. 3510 V
  1610. (17744)210 648 A
  1611. 1026(/*)S
  1612. (Check)210 1152 A
  1613. 1404(to)S
  1614. (see)126 1530 A
  1615. 1698(if)S
  1616. (the)126 1824 A
  1617. (sizes)210 1992 A
  1618. (are)126 2244 A
  1619. (feasible)336 2412 A
  1620. (and)126 2790 A
  1621. (enough)252 2958 A
  1622. (segmentation)504 3252 A
  1623. (registers)378 3798 A
  1624. 3600 V
  1625. (17745)210 648 A
  1626. 1068(*)S
  1627. (exist.)252 1152 A
  1628. 1488(On)S
  1629. 1614(a)S
  1630. (machine)294 1698 A
  1631. (with)168 2034 A
  1632. (eight)210 2244 A
  1633. 2496(8K)S
  1634. (pages,)252 2622 A
  1635. (text,)210 2916 A
  1636. (data,)210 3168 A
  1637. (stack)210 3420 A
  1638. (sizes)210 3672 A
  1639. 3924(of)S
  1640. 3690 V
  1641. (17746)210 648 A
  1642. 1068(*)S
  1643. ((32K,)210 1152 A
  1644. (16K,)168 1404 A
  1645. (16K))168 1614 A
  1646. (will)168 1824 A
  1647. (fit,)168 2034 A
  1648. (but)126 2244 A
  1649. ((33K,)210 2412 A
  1650. (17K,)168 2664 A
  1651. (13K))168 2874 A
  1652. (will)168 3084 A
  1653. (not,)168 3294 A
  1654. (even)168 3504 A
  1655. (though)252 3714 A
  1656. (the)126 4008 A
  1657. 3780 V
  1658. (17747)210 648 A
  1659. 1068(*)S
  1660. (former)252 1152 A
  1661. 1446(is)S
  1662. (bigger)252 1572 A
  1663. ((64K))210 1866 A
  1664. (than)168 2118 A
  1665. (the)126 2328 A
  1666. (latter)252 2496 A
  1667. ((63K).)252 2790 A
  1668. (Even)168 3126 A
  1669. 3336(on)S
  1670. (the)126 3462 A
  1671. (8088)168 3630 A
  1672. (this)168 3840 A
  1673. (test)168 4050 A
  1674. 3870 V
  1675. (17748)210 648 A
  1676. 1068(*)S
  1677. 1152(is)S
  1678. (needed,)294 1278 A
  1679. (since)210 1614 A
  1680. (the)126 1866 A
  1681. (data)168 2034 A
  1682. (and)126 2244 A
  1683. (stack)210 2412 A
  1684. (may)126 2664 A
  1685. (not)126 2832 A
  1686. (exceed)252 3000 A
  1687. (4096)168 3294 A
  1688. (clicks.)294 3504 A
  1689. 3960 V
  1690. (17749)210 648 A
  1691. 1068(*/)S
  1692. 4050 V
  1693. (17750)210 648 A
  1694. 4140 V
  1695. (17751)210 648 A
  1696. (#if)126 1026 A
  1697. ((CHIP)210 1194 A
  1698. 1446(==)S
  1699. (INTEL)210 1572 A
  1700. 1824(&&)S
  1701. (_WORD_SIZE)420 1950 A
  1702. 2412(==)S
  1703. 2538(2))S
  1704. 4230 V
  1705. (17752)210 648 A
  1706. (int)126 1110 A
  1707. (pt,)126 1278 A
  1708. (pd,)126 1446 A
  1709. (ps;)126 1614 A
  1710. 2370(/*)S
  1711. (segment)294 2496 A
  1712. (sizes)210 2832 A
  1713. 3084(in)S
  1714. (pages)210 3210 A
  1715. 3462(*/)S
  1716. 4320 V
  1717. (17753)210 648 A
  1718. 4410 V
  1719. (17754)210 648 A
  1720. 1110(pt)S
  1721. 1236(=)S
  1722. 1320(()S
  1723. ((tc)126 1404 A
  1724. 1572(<<)S
  1725. (CLICK_SHIFT))504 1698 A
  1726. 2244(+)S
  1727. (PAGE_SIZE)378 2328 A
  1728. 2748(-)S
  1729. (1)/PAGE_SIZE;)546 2832 A
  1730. 4500 V
  1731. (17755)210 648 A
  1732. 1110(pd)S
  1733. 1236(=)S
  1734. 1320(()S
  1735. ((dc)126 1404 A
  1736. 1572(<<)S
  1737. (CLICK_SHIFT))504 1698 A
  1738. 2244(+)S
  1739. (PAGE_SIZE)378 2328 A
  1740. 2748(-)S
  1741. (1)/PAGE_SIZE;)546 2832 A
  1742. 4590 V
  1743. (17756)210 648 A
  1744. 1110(ps)S
  1745. 1236(=)S
  1746. 1320(()S
  1747. ((sc)126 1404 A
  1748. 1572(<<)S
  1749. (CLICK_SHIFT))504 1698 A
  1750. 2244(+)S
  1751. (PAGE_SIZE)378 2328 A
  1752. 2748(-)S
  1753. (1)/PAGE_SIZE;)546 2832 A
  1754. 4680 V
  1755. (17757)210 648 A
  1756. 4770 V
  1757. (17758)210 648 A
  1758. 1110(if)S
  1759. ((file_type)420 1236 A
  1760. 1698(==)S
  1761. (SEPARATE))378 1824 A
  1762. 2244({)S
  1763. 4860 V
  1764. (17759)210 648 A
  1765. 1362(if)S
  1766. ((pt)126 1488 A
  1767. 1656(>)S
  1768. (MAX_PAGES)378 1740 A
  1769. 2160(||)S
  1770. 2286(pd)S
  1771. 2412(+)S
  1772. 2496(ps)S
  1773. 2622(>)S
  1774. (MAX_PAGES))420 2706 A
  1775. (return(ENOMEM);)630 3168 A
  1776. 4950 V
  1777. (17760)210 648 A
  1778. 1110(})S
  1779. (else)168 1194 A
  1780. 1404({)S
  1781. 5040 V
  1782. (17761)210 648 A
  1783. 1362(if)S
  1784. ((pt)126 1488 A
  1785. 1656(+)S
  1786. 1740(pd)S
  1787. 1866(+)S
  1788. 1950(ps)S
  1789. 2076(>)S
  1790. (MAX_PAGES))420 2160 A
  1791. (return(ENOMEM);)630 2622 A
  1792. 5130 V
  1793. (17762)210 648 A
  1794. 1110(})S
  1795. 5220 V
  1796. (17763)210 648 A
  1797. (#endif)252 1026 A
  1798. 5310 V
  1799. (17764)210 648 A
  1800. 5400 V
  1801. (17765)210 648 A
  1802. 1110(if)S
  1803. ((dvir)210 1236 A
  1804. 1488(+)S
  1805. 1572(dc)S
  1806. 1698(>)S
  1807. (s_vir))252 1782 A
  1808. (return(ENOMEM);)630 2076 A
  1809. 5490 V
  1810. (17766)210 648 A
  1811. 5580 V
  1812. (17767)210 648 A
  1813. (return(OK);)462 1110 A
  1814. 5670 V
  1815. (17768)210 648 A
  1816. 1026(})S
  1817. 8418 V
  1818. EP
  1819. %%Page: 247 247
  1820. BP
  1821. /slant 0 def
  1822. /height 0 def
  1823. 630 V
  1824. 10 R
  1825. 648(MINIX)S
  1826. 976(SOURCE)S
  1827. 1399(CODE)S
  1828. 11 R
  1829. 2068(File:)S
  1830. 2301(src/mm/signal.c)S
  1831. 12 B
  1832. (247)180 4248 A
  1833. 990 V
  1834. 7 LST
  1835. (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
  1836. 1080 V
  1837. (src/mm/signal.c)630 2034 A
  1838. 1170 V
  1839. (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
  1840. 1350 V
  1841. (17800)210 648 A
  1842. 1026(/*)S
  1843. (This)168 1152 A
  1844. (file)168 1362 A
  1845. (handles)294 1572 A
  1846. (signals,)336 1908 A
  1847. (which)210 2286 A
  1848. (are)126 2538 A
  1849. (asynchronous)504 2706 A
  1850. (events)252 3252 A
  1851. (and)126 3546 A
  1852. (are)126 3714 A
  1853. (generally)378 3882 A
  1854. 1440 V
  1855. (17801)210 648 A
  1856. 1068(*)S
  1857. 1152(a)S
  1858. (messy)210 1236 A
  1859. (and)126 1488 A
  1860. (unpleasant)420 1656 A
  1861. (business.)378 2118 A
  1862. (Signals)294 2580 A
  1863. (can)126 2916 A
  1864. 3084(be)S
  1865. (generated)378 3210 A
  1866. 3630(by)S
  1867. (the)126 3756 A
  1868. (KILL)168 3924 A
  1869. 1530 V
  1870. (17802)210 648 A
  1871. 1068(*)S
  1872. (system)252 1152 A
  1873. (call,)210 1446 A
  1874. 1698(or)S
  1875. (from)168 1824 A
  1876. (the)126 2034 A
  1877. (keyboard)336 2202 A
  1878. ((SIGINT))336 2580 A
  1879. 2958(or)S
  1880. (from)168 3084 A
  1881. (the)126 3294 A
  1882. (clock)210 3462 A
  1883. ((SIGALRM).)420 3714 A
  1884. 1620 V
  1885. (17803)210 648 A
  1886. 1068(*)S
  1887. 1152(In)S
  1888. (all)126 1278 A
  1889. (cases)210 1446 A
  1890. (control)294 1698 A
  1891. (eventually)420 2034 A
  1892. (passes)252 2496 A
  1893. 2790(to)S
  1894. (check_sig())462 2916 A
  1895. 3420(to)S
  1896. (see)126 3546 A
  1897. (which)210 3714 A
  1898. (processes)378 3966 A
  1899. 1710 V
  1900. (17804)210 648 A
  1901. 1068(*)S
  1902. (can)126 1152 A
  1903. 1320(be)S
  1904. (signaled.)378 1446 A
  1905. (The)126 1908 A
  1906. (actual)252 2076 A
  1907. (signaling)378 2370 A
  1908. 2790(is)S
  1909. (done)168 2916 A
  1910. 3126(by)S
  1911. (sig_proc().)462 3252 A
  1912. 1800 V
  1913. (17805)210 648 A
  1914. 1068(*)S
  1915. 1890 V
  1916. (17806)210 648 A
  1917. 1068(*)S
  1918. (The)126 1152 A
  1919. (entry)210 1320 A
  1920. (points)252 1572 A
  1921. (into)168 1866 A
  1922. (this)168 2076 A
  1923. (file)168 2286 A
  1924. (are:)168 2496 A
  1925. 1980 V
  1926. (17807)210 648 A
  1927. 1068(*)S
  1928. (do_sigaction:)546 1236 A
  1929. (perform)294 1908 A
  1930. (the)126 2244 A
  1931. (SIGACTION)378 2412 A
  1932. (system)252 2832 A
  1933. (call)168 3126 A
  1934. 2070 V
  1935. (17808)210 648 A
  1936. 1068(*)S
  1937. (do_sigpending:)588 1236 A
  1938. (perform)294 1908 A
  1939. (the)126 2244 A
  1940. (SIGPENDING)420 2412 A
  1941. (system)252 2874 A
  1942. (call)168 3168 A
  1943. 2160 V
  1944. (17809)210 648 A
  1945. 1068(*)S
  1946. (do_sigprocmask:)630 1236 A
  1947. (perform)294 1908 A
  1948. (the)126 2244 A
  1949. (SIGPROCMASK)462 2412 A
  1950. (system)252 2916 A
  1951. (call)168 3210 A
  1952. 2250 V
  1953. (17810)210 648 A
  1954. 1068(*)S
  1955. (do_sigreturn:)546 1236 A
  1956. (perform)294 1908 A
  1957. (the)126 2244 A
  1958. (SIGRETURN)378 2412 A
  1959. (system)252 2832 A
  1960. (call)168 3126 A
  1961. 2340 V
  1962. (17811)210 648 A
  1963. 1068(*)S
  1964. (do_sigsuspend:)588 1236 A
  1965. (perform)294 1908 A
  1966. (the)126 2244 A
  1967. (SIGSUSPEND)420 2412 A
  1968. (system)252 2874 A
  1969. (call)168 3168 A
  1970. 2430 V
  1971. (17812)210 648 A
  1972. 1068(*)S
  1973. (do_kill:)336 1236 A
  1974. (perform)294 1698 A
  1975. (the)126 2034 A
  1976. (KILL)168 2202 A
  1977. (system)252 2412 A
  1978. (call)168 2706 A
  1979. 2520 V
  1980. (17813)210 648 A
  1981. 1068(*)S
  1982. (do_ksig:)336 1236 A
  1983. (accept)252 1698 A
  1984. 1992(a)S
  1985. (signal)252 2076 A
  1986. (originating)462 2370 A
  1987. 2874(in)S
  1988. (the)126 3000 A
  1989. (kernel)252 3168 A
  1990. ((e.g.,)252 3462 A
  1991. (SIGINT))294 3756 A
  1992. 2610 V
  1993. (17814)210 648 A
  1994. 1068(*)S
  1995. (do_alarm:)378 1236 A
  1996. (perform)294 1698 A
  1997. (the)126 2034 A
  1998. (ALARM)210 2202 A
  1999. (system)252 2454 A
  2000. (call)168 2748 A
  2001. 2958(by)S
  2002. (calling)294 3084 A
  2003. (set_alarm())462 3420 A
  2004. 2700 V
  2005. (17815)210 648 A
  2006. 1068(*)S
  2007. (set_alarm:)420 1236 A
  2008. (tell)168 1698 A
  2009. (the)126 1908 A
  2010. (clock)210 2076 A
  2011. (task)168 2328 A
  2012. 2538(to)S
  2013. (start)210 2664 A
  2014. 2916(or)S
  2015. (stop)168 3042 A
  2016. 3252(a)S
  2017. (timer)210 3336 A
  2018. 2790 V
  2019. (17816)210 648 A
  2020. 1068(*)S
  2021. (do_pause:)378 1236 A
  2022. (perform)294 1698 A
  2023. (the)126 2034 A
  2024. (PAUSE)210 2202 A
  2025. (system)252 2454 A
  2026. (call)168 2748 A
  2027. 2880 V
  2028. (17817)210 648 A
  2029. 1068(*)S
  2030. (do_reboot:)420 1236 A
  2031. (kill)168 1698 A
  2032. (all)126 1908 A
  2033. (processes,)420 2076 A
  2034. (then)168 2538 A
  2035. (reboot)252 2748 A
  2036. (system)252 3042 A
  2037. 2970 V
  2038. (17818)210 648 A
  2039. 1068(*)S
  2040. (sig_proc:)378 1236 A
  2041. (interrupt)378 1698 A
  2042. 2118(or)S
  2043. (terminate)378 2244 A
  2044. 2664(a)S
  2045. (signaled)336 2748 A
  2046. (process)294 3126 A
  2047. 3060 V
  2048. (17819)210 648 A
  2049. 1068(*)S
  2050. (check_sig:)420 1236 A
  2051. (check)210 1698 A
  2052. (which)210 1950 A
  2053. (processes)378 2202 A
  2054. 2622(to)S
  2055. (signal)252 2748 A
  2056. (with)168 3042 A
  2057. (sig_proc())420 3252 A
  2058. 3150 V
  2059. (17820)210 648 A
  2060. 1068(*/)S
  2061. 3240 V
  2062. (17821)210 648 A
  2063. 3330 V
  2064. (17822)210 648 A
  2065. (#include)336 1026 A
  2066. ("mm.h")252 1404 A
  2067. 3420 V
  2068. (17823)210 648 A
  2069. (#include)336 1026 A
  2070. (<sys/stat.h>)504 1404 A
  2071. 3510 V
  2072. (17824)210 648 A
  2073. (#include)336 1026 A
  2074. (<minix/callnr.h>)672 1404 A
  2075. 3600 V
  2076. (17825)210 648 A
  2077. (#include)336 1026 A
  2078. (<minix/com.h>)546 1404 A
  2079. 3690 V
  2080. (17826)210 648 A
  2081. (#include)336 1026 A
  2082. (<signal.h>)420 1404 A
  2083. 3780 V
  2084. (17827)210 648 A
  2085. (#include)336 1026 A
  2086. (<sys/sigcontext.h>)756 1404 A
  2087. 3870 V
  2088. (17828)210 648 A
  2089. (#include)336 1026 A
  2090. (<string.h>)420 1404 A
  2091. 3960 V
  2092. (17829)210 648 A
  2093. (#include)336 1026 A
  2094. ("mproc.h")378 1404 A
  2095. 4050 V
  2096. (17830)210 648 A
  2097. (#include)336 1026 A
  2098. ("param.h")378 1404 A
  2099. 4140 V
  2100. (17831)210 648 A
  2101. 4230 V
  2102. (17832)210 648 A
  2103. (#define)294 1026 A
  2104. (CORE_MODE)378 1362 A
  2105. (0777)168 2034 A
  2106. 2370(/*)S
  2107. (mode)168 2496 A
  2108. 2706(to)S
  2109. (use)126 2832 A
  2110. 3000(on)S
  2111. (core)168 3126 A
  2112. (image)210 3336 A
  2113. (files)210 3588 A
  2114. 3840(*/)S
  2115. 4320 V
  2116. (17833)210 648 A
  2117. (#define)294 1026 A
  2118. (DUMPED)252 1362 A
  2119. (0200)168 2034 A
  2120. 2370(/*)S
  2121. (bit)126 2496 A
  2122. (set)126 2664 A
  2123. 2832(in)S
  2124. (status)252 2958 A
  2125. (when)168 3252 A
  2126. (core)168 3462 A
  2127. (dumped)252 3672 A
  2128. 3966(*/)S
  2129. 4410 V
  2130. (17834)210 648 A
  2131. (#define)294 1026 A
  2132. (DUMP_SIZE)378 1362 A
  2133. (((INT_MAX)378 2034 A
  2134. 2454(/)S
  2135. (BLOCK_SIZE))462 2538 A
  2136. 3042(*)S
  2137. (BLOCK_SIZE))462 3126 A
  2138. 4500 V
  2139. (17835)210 648 A
  2140. 2370(/*)S
  2141. (buffer)252 2496 A
  2142. (size)168 2790 A
  2143. (for)126 3000 A
  2144. (core)168 3168 A
  2145. (dumps)210 3378 A
  2146. 3630(*/)S
  2147. 4590 V
  2148. (17836)210 648 A
  2149. 4680 V
  2150. (17837)210 648 A
  2151. (FORWARD)294 1026 A
  2152. (_PROTOTYPE()462 1362 A
  2153. (void)168 1866 A
  2154. (check_pending,)588 2076 A
  2155. ((void))252 2706 A
  2156. 4050();)S
  2157. 4770 V
  2158. (17838)210 648 A
  2159. (FORWARD)294 1026 A
  2160. (_PROTOTYPE()462 1362 A
  2161. (void)168 1866 A
  2162. (dump_core,)420 2076 A
  2163. ((struct)294 2538 A
  2164. (mproc)210 2874 A
  2165. (*rmp))210 3126 A
  2166. 4050();)S
  2167. 4860 V
  2168. (17839)210 648 A
  2169. (FORWARD)294 1026 A
  2170. (_PROTOTYPE()462 1362 A
  2171. (void)168 1866 A
  2172. (unpause,)336 2076 A
  2173. ((int)168 2454 A
  2174. (pro))168 2664 A
  2175. 4050();)S
  2176. 4950 V
  2177. (17840)210 648 A
  2178. 5040 V
  2179. (17841)210 648 A
  2180. 5130 V
  2181. (17842)210 648 A
  2182. (/*===========================================================================*)3276 1026 A
  2183. 5220 V
  2184. (17843)210 648 A
  2185. 1068(*)S
  2186. (do_sigaction)504 2328 A
  2187. 4260(*)S
  2188. 5310 V
  2189. (17844)210 648 A
  2190. (*===========================================================================*/)3276 1068 A
  2191. 5400 V
  2192. (17845)210 648 A
  2193. (PUBLIC)252 1026 A
  2194. (int)126 1320 A
  2195. (do_sigaction())588 1488 A
  2196. 5490 V
  2197. (17846)210 648 A
  2198. 1026({)S
  2199. 5580 V
  2200. (17847)210 648 A
  2201. (int)126 1110 A
  2202. 1278(r;)S
  2203. 5670 V
  2204. (17848)210 648 A
  2205. (struct)252 1110 A
  2206. (sigaction)378 1404 A
  2207. (svec;)210 1824 A
  2208. 5760 V
  2209. (17849)210 648 A
  2210. (struct)252 1110 A
  2211. (sigaction)378 1404 A
  2212. (*svp;)210 1824 A
  2213. 5850 V
  2214. (17850)210 648 A
  2215. 5940 V
  2216. (17851)210 648 A
  2217. 1110(if)S
  2218. ((sig_nr)294 1236 A
  2219. 1572(==)S
  2220. (SIGKILL))336 1698 A
  2221. (return(OK);)462 2076 A
  2222. 6030 V
  2223. (17852)210 648 A
  2224. 1110(if)S
  2225. ((sig_nr)294 1236 A
  2226. 1572(<)S
  2227. 1656(1)S
  2228. 1740(||)S
  2229. (sig_nr)252 1866 A
  2230. 2160(>)S
  2231. (_NSIG))252 2244 A
  2232. (return)252 2538 A
  2233. ((EINVAL);)378 2832 A
  2234. 6120 V
  2235. (17853)210 648 A
  2236. (svp)126 1110 A
  2237. 1278(=)S
  2238. (&mp->mp_sigact[sig_nr];)966 1362 A
  2239. 6210 V
  2240. (17854)210 648 A
  2241. 1110(if)S
  2242. (((struct)336 1236 A
  2243. (sigaction)378 1614 A
  2244. 2034(*))S
  2245. (sig_osa)294 2160 A
  2246. 2496(!=)S
  2247. ((struct)294 2622 A
  2248. (sigaction)378 2958 A
  2249. 3378(*))S
  2250. (NULL))210 3504 A
  2251. 3756({)S
  2252. 8418 V
  2253. EP
  2254. %%Page: 248 248
  2255. BP
  2256. /slant 0 def
  2257. /height 0 def
  2258. 630 V
  2259. 12 B
  2260. (248)180 648 A
  2261. 11 R
  2262. 2068(File:)S
  2263. 2301(src/mm/signal.c)S
  2264. 10 R
  2265. 3402(MINIX)S
  2266. 3730(SOURCE)S
  2267. 4153(CODE)S
  2268. 900 V
  2269. 7 LST
  2270. (17855)210 648 A
  2271. 1362(r)S
  2272. 1446(=)S
  2273. (sys_copy(MM_PROC_NR,D,)924 1530 A
  2274. ((phys_bytes))504 2496 A
  2275. (svp,)168 3042 A
  2276. 990 V
  2277. (17856)210 648 A
  2278. (who,)168 1698 A
  2279. 1908(D,)S
  2280. ((phys_bytes))504 2034 A
  2281. (sig_osa,)336 2580 A
  2282. ((phys_bytes))504 2958 A
  2283. (sizeof(svec));)588 3504 A
  2284. 1080 V
  2285. (17857)210 648 A
  2286. 1362(if)S
  2287. 1488((r)S
  2288. 1614(!=)S
  2289. (OK))126 1740 A
  2290. (return(r);)420 1908 A
  2291. 1170 V
  2292. (17858)210 648 A
  2293. 1110(})S
  2294. 1260 V
  2295. (17859)210 648 A
  2296. 1350 V
  2297. (17860)210 648 A
  2298. 1110(if)S
  2299. (((struct)336 1236 A
  2300. (sigaction)378 1614 A
  2301. 2034(*))S
  2302. (sig_nsa)294 2160 A
  2303. 2496(==)S
  2304. ((struct)294 2622 A
  2305. (sigaction)378 2958 A
  2306. 3378(*))S
  2307. (NULL))210 3504 A
  2308. (return(OK);)462 3756 A
  2309. 1440 V
  2310. (17861)210 648 A
  2311. 1530 V
  2312. (17862)210 648 A
  2313. 1110(/*)S
  2314. (Read)168 1236 A
  2315. 1446(in)S
  2316. (the)126 1572 A
  2317. (sigaction)378 1740 A
  2318. (structure.)420 2160 A
  2319. 2622(*/)S
  2320. 1620 V
  2321. (17863)210 648 A
  2322. 1110(r)S
  2323. 1194(=)S
  2324. (sys_copy(who,)546 1278 A
  2325. 1866(D,)S
  2326. ((phys_bytes))504 1992 A
  2327. (sig_nsa,)336 2538 A
  2328. 1710 V
  2329. (17864)210 648 A
  2330. (MM_PROC_NR,)462 1698 A
  2331. 2202(D,)S
  2332. ((phys_bytes))504 2328 A
  2333. (&svec,)252 2874 A
  2334. ((phys_bytes))504 3168 A
  2335. (sizeof(svec));)588 3714 A
  2336. 1800 V
  2337. (17865)210 648 A
  2338. 1110(if)S
  2339. 1236((r)S
  2340. 1362(!=)S
  2341. (OK))126 1488 A
  2342. (return(r);)420 1656 A
  2343. 1890 V
  2344. (17866)210 648 A
  2345. 1980 V
  2346. (17867)210 648 A
  2347. 1110(if)S
  2348. ((svec.sa_handler)672 1236 A
  2349. 1950(==)S
  2350. (SIG_IGN))336 2076 A
  2351. 2454({)S
  2352. 2070 V
  2353. (17868)210 648 A
  2354. (sigaddset(&mp->mp_ignore,)1050 1362 A
  2355. (sig_nr);)336 2454 A
  2356. 2160 V
  2357. (17869)210 648 A
  2358. (sigdelset(&mp->mp_sigpending,)1218 1362 A
  2359. (sig_nr);)336 2622 A
  2360. 2250 V
  2361. (17870)210 648 A
  2362. (sigdelset(&mp->mp_catch,)1008 1362 A
  2363. (sig_nr);)336 2412 A
  2364. 2340 V
  2365. (17871)210 648 A
  2366. 1110(})S
  2367. (else)168 1194 A
  2368. 1404({)S
  2369. 2430 V
  2370. (17872)210 648 A
  2371. (sigdelset(&mp->mp_ignore,)1050 1362 A
  2372. (sig_nr);)336 2454 A
  2373. 2520 V
  2374. (17873)210 648 A
  2375. 1362(if)S
  2376. ((svec.sa_handler)672 1488 A
  2377. 2202(==)S
  2378. (SIG_DFL))336 2328 A
  2379. 2610 V
  2380. (17874)210 648 A
  2381. (sigdelset(&mp->mp_catch,)1008 1698 A
  2382. (sig_nr);)336 2748 A
  2383. 2700 V
  2384. (17875)210 648 A
  2385. (else)168 1362 A
  2386. 2790 V
  2387. (17876)210 648 A
  2388. (sigaddset(&mp->mp_catch,)1008 1698 A
  2389. (sig_nr);)336 2748 A
  2390. 2880 V
  2391. (17877)210 648 A
  2392. 1110(})S
  2393. 2970 V
  2394. (17878)210 648 A
  2395. (mp->mp_sigact[sig_nr].sa_handler)1344 1110 A
  2396. 2496(=)S
  2397. (svec.sa_handler;)672 2580 A
  2398. 3060 V
  2399. (17879)210 648 A
  2400. (sigdelset(&svec.sa_mask,)1008 1110 A
  2401. (SIGKILL);)378 2160 A
  2402. 3150 V
  2403. (17880)210 648 A
  2404. (mp->mp_sigact[sig_nr].sa_mask)1218 1110 A
  2405. 2370(=)S
  2406. (svec.sa_mask;)546 2454 A
  2407. 3240 V
  2408. (17881)210 648 A
  2409. (mp->mp_sigact[sig_nr].sa_flags)1260 1110 A
  2410. 2412(=)S
  2411. (svec.sa_flags;)588 2496 A
  2412. 3330 V
  2413. (17882)210 648 A
  2414. (mp->mp_sigreturn)672 1110 A
  2415. 1824(=)S
  2416. ((vir_bytes))462 1908 A
  2417. (sig_ret;)336 2412 A
  2418. 3420 V
  2419. (17883)210 648 A
  2420. (return(OK);)462 1110 A
  2421. 3510 V
  2422. (17884)210 648 A
  2423. 1026(})S
  2424. 3690 V
  2425. (17886)210 648 A
  2426. (/*===========================================================================*)3276 1026 A
  2427. 3780 V
  2428. (17887)210 648 A
  2429. 1068(*)S
  2430. (do_sigpending)546 2286 A
  2431. 4260(*)S
  2432. 3870 V
  2433. (17888)210 648 A
  2434. (*===========================================================================*/)3276 1068 A
  2435. 3960 V
  2436. (17889)210 648 A
  2437. (PUBLIC)252 1026 A
  2438. (int)126 1320 A
  2439. (do_sigpending())630 1488 A
  2440. 4050 V
  2441. (17890)210 648 A
  2442. 1026({)S
  2443. 4140 V
  2444. (17891)210 648 A
  2445. (ret_mask)336 1110 A
  2446. 1488(=)S
  2447. ((long))252 1572 A
  2448. (mp->mp_sigpending;)756 1866 A
  2449. 4230 V
  2450. (17892)210 648 A
  2451. (return)252 1110 A
  2452. (OK;)126 1404 A
  2453. 4320 V
  2454. (17893)210 648 A
  2455. 1026(})S
  2456. 4500 V
  2457. (17895)210 648 A
  2458. (/*===========================================================================*)3276 1026 A
  2459. 4590 V
  2460. (17896)210 648 A
  2461. 1068(*)S
  2462. (do_sigprocmask)588 2286 A
  2463. 4260(*)S
  2464. 4680 V
  2465. (17897)210 648 A
  2466. (*===========================================================================*/)3276 1068 A
  2467. 4770 V
  2468. (17898)210 648 A
  2469. (PUBLIC)252 1026 A
  2470. (int)126 1320 A
  2471. (do_sigprocmask())672 1488 A
  2472. 4860 V
  2473. (17899)210 648 A
  2474. 1026({)S
  2475. 4950 V
  2476. (17900)210 648 A
  2477. 1026(/*)S
  2478. (Note)168 1152 A
  2479. (that)168 1362 A
  2480. (the)126 1572 A
  2481. (library)294 1740 A
  2482. (interface)378 2076 A
  2483. (passes)252 2496 A
  2484. (the)126 2790 A
  2485. (actual)252 2958 A
  2486. (mask)168 3252 A
  2487. 3462(in)S
  2488. (sigmask_set,)504 3588 A
  2489. 5040 V
  2490. (17901)210 648 A
  2491. 1068(*)S
  2492. (not)126 1152 A
  2493. 1320(a)S
  2494. (pointer)294 1404 A
  2495. 1740(to)S
  2496. (the)126 1866 A
  2497. (mask,)210 2034 A
  2498. 2286(in)S
  2499. (order)210 2412 A
  2500. 2664(to)S
  2501. (save)168 2790 A
  2502. 3000(a)S
  2503. (sys_copy.)378 3084 A
  2504. (Similarly,)420 3546 A
  2505. 5130 V
  2506. (17902)210 648 A
  2507. 1068(*)S
  2508. (the)126 1152 A
  2509. (old)126 1320 A
  2510. (mask)168 1488 A
  2511. 1698(is)S
  2512. (placed)252 1824 A
  2513. 2118(in)S
  2514. (the)126 2244 A
  2515. (return)252 2412 A
  2516. (message)294 2706 A
  2517. (which)210 3042 A
  2518. (the)126 3294 A
  2519. (library)294 3462 A
  2520. 5220 V
  2521. (17903)210 648 A
  2522. 1068(*)S
  2523. (interface)378 1152 A
  2524. (copies)252 1572 A
  2525. ((if)126 1866 A
  2526. (requested))420 2034 A
  2527. 2496(to)S
  2528. (the)126 2622 A
  2529. (user)168 2790 A
  2530. (specified)378 3000 A
  2531. (address.)336 3420 A
  2532. 5310 V
  2533. (17904)210 648 A
  2534. 1068(*)S
  2535. 5400 V
  2536. (17905)210 648 A
  2537. 1068(*)S
  2538. (The)126 1152 A
  2539. (library)294 1320 A
  2540. (interface)378 1656 A
  2541. (must)168 2076 A
  2542. (set)126 2286 A
  2543. (SIG_INQUIRE)462 2454 A
  2544. 2958(if)S
  2545. (the)126 3084 A
  2546. ('act')210 3252 A
  2547. (argument)336 3504 A
  2548. 5490 V
  2549. (17906)210 648 A
  2550. 1068(*)S
  2551. 1152(is)S
  2552. (NULL.)210 1278 A
  2553. 5580 V
  2554. (17907)210 648 A
  2555. 1068(*/)S
  2556. 5670 V
  2557. (17908)210 648 A
  2558. 5760 V
  2559. (17909)210 648 A
  2560. (int)126 1110 A
  2561. 1278(i;)S
  2562. 5850 V
  2563. (17910)210 648 A
  2564. 5940 V
  2565. (17911)210 648 A
  2566. (ret_mask)336 1110 A
  2567. 1488(=)S
  2568. ((long))252 1572 A
  2569. (mp->mp_sigmask;)630 1866 A
  2570. 6030 V
  2571. (17912)210 648 A
  2572. 6120 V
  2573. (17913)210 648 A
  2574. (switch)252 1110 A
  2575. ((sig_how))378 1404 A
  2576. 1824({)S
  2577. 6210 V
  2578. (17914)210 648 A
  2579. (case)168 1278 A
  2580. (SIG_BLOCK:)420 1488 A
  2581. 8418 V
  2582. EP
  2583. %%Page: 249 249
  2584. BP
  2585. /slant 0 def
  2586. /height 0 def
  2587. 630 V
  2588. 10 R
  2589. 648(MINIX)S
  2590. 976(SOURCE)S
  2591. 1399(CODE)S
  2592. 11 R
  2593. 2068(File:)S
  2594. 2301(src/mm/signal.c)S
  2595. 12 B
  2596. (249)180 4248 A
  2597. 900 V
  2598. 7 LST
  2599. (17915)210 648 A
  2600. (sigdelset((sigset_t)798 1362 A
  2601. (*)&sig_set,)462 2202 A
  2602. (SIGKILL);)378 2706 A
  2603. 990 V
  2604. (17916)210 648 A
  2605. (for)126 1362 A
  2606. 1530((i)S
  2607. 1656(=)S
  2608. 1740(1;)S
  2609. 1866(i)S
  2610. 1950(<)S
  2611. (_NSIG;)252 2034 A
  2612. (i++))168 2328 A
  2613. 2538({)S
  2614. 1080 V
  2615. (17917)210 648 A
  2616. 1698(if)S
  2617. ((sigismember((sigset_t)924 1824 A
  2618. (*)&sig_set,)462 2790 A
  2619. (i)))126 3294 A
  2620. 1170 V
  2621. (17918)210 648 A
  2622. (sigaddset(&mp->mp_sigmask,)1092 2034 A
  2623. (i);)126 3168 A
  2624. 1260 V
  2625. (17919)210 648 A
  2626. 1362(})S
  2627. 1350 V
  2628. (17920)210 648 A
  2629. (break;)252 1362 A
  2630. 1440 V
  2631. (17921)210 648 A
  2632. 1530 V
  2633. (17922)210 648 A
  2634. (case)168 1278 A
  2635. (SIG_UNBLOCK:)504 1488 A
  2636. 1620 V
  2637. (17923)210 648 A
  2638. (for)126 1362 A
  2639. 1530((i)S
  2640. 1656(=)S
  2641. 1740(1;)S
  2642. 1866(i)S
  2643. 1950(<)S
  2644. (_NSIG;)252 2034 A
  2645. (i++))168 2328 A
  2646. 2538({)S
  2647. 1710 V
  2648. (17924)210 648 A
  2649. 1698(if)S
  2650. ((sigismember((sigset_t)924 1824 A
  2651. (*)&sig_set,)462 2790 A
  2652. (i)))126 3294 A
  2653. 1800 V
  2654. (17925)210 648 A
  2655. (sigdelset(&mp->mp_sigmask,)1092 2034 A
  2656. (i);)126 3168 A
  2657. 1890 V
  2658. (17926)210 648 A
  2659. 1362(})S
  2660. 1980 V
  2661. (17927)210 648 A
  2662. (check_pending();)672 1362 A
  2663. 2070 V
  2664. (17928)210 648 A
  2665. (break;)252 1362 A
  2666. 2160 V
  2667. (17929)210 648 A
  2668. 2250 V
  2669. (17930)210 648 A
  2670. (case)168 1278 A
  2671. (SIG_SETMASK:)504 1488 A
  2672. 2340 V
  2673. (17931)210 648 A
  2674. (sigdelset((sigset_t)798 1362 A
  2675. (*)&sig_set,)462 2202 A
  2676. (SIGKILL);)378 2706 A
  2677. 2430 V
  2678. (17932)210 648 A
  2679. (mp->mp_sigmask)588 1362 A
  2680. 1992(=)S
  2681. ((sigset_t)sig_set;)756 2076 A
  2682. 2520 V
  2683. (17933)210 648 A
  2684. (check_pending();)672 1362 A
  2685. 2610 V
  2686. (17934)210 648 A
  2687. (break;)252 1362 A
  2688. 2700 V
  2689. (17935)210 648 A
  2690. 2790 V
  2691. (17936)210 648 A
  2692. (case)168 1278 A
  2693. (SIG_INQUIRE:)504 1488 A
  2694. 2880 V
  2695. (17937)210 648 A
  2696. (break;)252 1362 A
  2697. 2970 V
  2698. (17938)210 648 A
  2699. 3060 V
  2700. (17939)210 648 A
  2701. (default:)336 1278 A
  2702. 3150 V
  2703. (17940)210 648 A
  2704. (return(EINVAL);)630 1362 A
  2705. 3240 V
  2706. (17941)210 648 A
  2707. (break;)252 1362 A
  2708. 3330 V
  2709. (17942)210 648 A
  2710. 1110(})S
  2711. 3420 V
  2712. (17943)210 648 A
  2713. (return)252 1110 A
  2714. (OK;)126 1404 A
  2715. 3510 V
  2716. (17944)210 648 A
  2717. 1026(})S
  2718. 3690 V
  2719. (17946)210 648 A
  2720. (/*===========================================================================*)3276 1026 A
  2721. 3780 V
  2722. (17947)210 648 A
  2723. 1068(*)S
  2724. (do_sigsuspend)546 2286 A
  2725. 4260(*)S
  2726. 3870 V
  2727. (17948)210 648 A
  2728. (*===========================================================================*/)3276 1068 A
  2729. 3960 V
  2730. (17949)210 648 A
  2731. (PUBLIC)252 1026 A
  2732. (int)126 1320 A
  2733. (do_sigsuspend())630 1488 A
  2734. 4050 V
  2735. (17950)210 648 A
  2736. 1026({)S
  2737. 4140 V
  2738. (17951)210 648 A
  2739. (mp->mp_sigmask2)630 1110 A
  2740. 1782(=)S
  2741. (mp->mp_sigmask;)630 1866 A
  2742. 2706(/*)S
  2743. (save)168 2832 A
  2744. (the)126 3042 A
  2745. (old)126 3210 A
  2746. (mask)168 3378 A
  2747. 3588(*/)S
  2748. 4230 V
  2749. (17952)210 648 A
  2750. (mp->mp_sigmask)588 1110 A
  2751. 1740(=)S
  2752. ((sigset_t))420 1824 A
  2753. (sig_set;)336 2286 A
  2754. 4320 V
  2755. (17953)210 648 A
  2756. (sigdelset(&mp->mp_sigmask,)1092 1110 A
  2757. (SIGKILL);)378 2244 A
  2758. 4410 V
  2759. (17954)210 648 A
  2760. (mp->mp_flags)504 1110 A
  2761. 1656(|=)S
  2762. (SIGSUSPENDED;)546 1782 A
  2763. 4500 V
  2764. (17955)210 648 A
  2765. (dont_reply)420 1110 A
  2766. 1572(=)S
  2767. (TRUE;)210 1656 A
  2768. 4590 V
  2769. (17956)210 648 A
  2770. (check_pending();)672 1110 A
  2771. 4680 V
  2772. (17957)210 648 A
  2773. (return)252 1110 A
  2774. (OK;)126 1404 A
  2775. 4770 V
  2776. (17958)210 648 A
  2777. 1026(})S
  2778. 5040 V
  2779. (17961)210 648 A
  2780. (/*===========================================================================*)3276 1026 A
  2781. 5130 V
  2782. (17962)210 648 A
  2783. 1068(*)S
  2784. (do_sigreturn)504 2412 A
  2785. 4260(*)S
  2786. 5220 V
  2787. (17963)210 648 A
  2788. (*===========================================================================*/)3276 1068 A
  2789. 5310 V
  2790. (17964)210 648 A
  2791. (PUBLIC)252 1026 A
  2792. (int)126 1320 A
  2793. (do_sigreturn())588 1488 A
  2794. 5400 V
  2795. (17965)210 648 A
  2796. 1026({)S
  2797. 5490 V
  2798. (17966)210 648 A
  2799. 1026(/*)S
  2800. 1152(A)S
  2801. (user)168 1236 A
  2802. (signal)252 1446 A
  2803. (handler)294 1740 A
  2804. 2076(is)S
  2805. (done.)210 2202 A
  2806. (Restore)294 2496 A
  2807. (context)294 2832 A
  2808. (and)126 3168 A
  2809. (check)210 3336 A
  2810. (for)126 3588 A
  2811. 5580 V
  2812. (17967)210 648 A
  2813. 1068(*)S
  2814. (pending)294 1152 A
  2815. (unblocked)378 1488 A
  2816. (signals.)336 1908 A
  2817. 5670 V
  2818. (17968)210 648 A
  2819. 1068(*/)S
  2820. 5760 V
  2821. (17969)210 648 A
  2822. 5850 V
  2823. (17970)210 648 A
  2824. (int)126 1110 A
  2825. 1278(r;)S
  2826. 5940 V
  2827. (17971)210 648 A
  2828. 6030 V
  2829. (17972)210 648 A
  2830. (mp->mp_sigmask)588 1110 A
  2831. 1740(=)S
  2832. ((sigset_t))420 1824 A
  2833. (sig_set;)336 2286 A
  2834. 6120 V
  2835. (17973)210 648 A
  2836. (sigdelset(&mp->mp_sigmask,)1092 1110 A
  2837. (SIGKILL);)378 2244 A
  2838. 6210 V
  2839. (17974)210 648 A
  2840. 8418 V
  2841. EP
  2842. %%Page: 250 250
  2843. BP
  2844. /slant 0 def
  2845. /height 0 def
  2846. 630 V
  2847. 12 B
  2848. (250)180 648 A
  2849. 11 R
  2850. 2068(File:)S
  2851. 2301(src/mm/signal.c)S
  2852. 10 R
  2853. 3402(MINIX)S
  2854. 3730(SOURCE)S
  2855. 4153(CODE)S
  2856. 900 V
  2857. 7 LST
  2858. (17975)210 648 A
  2859. 1110(r)S
  2860. 1194(=)S
  2861. (sys_sigreturn(who,)756 1278 A
  2862. ((vir_bytes)sig_context,)966 2076 A
  2863. (sig_flags);)462 3084 A
  2864. 990 V
  2865. (17976)210 648 A
  2866. (check_pending();)672 1110 A
  2867. 1080 V
  2868. (17977)210 648 A
  2869. (return(r);)420 1110 A
  2870. 1170 V
  2871. (17978)210 648 A
  2872. 1026(})S
  2873. 1350 V
  2874. (17980)210 648 A
  2875. (/*===========================================================================*)3276 1026 A
  2876. 1440 V
  2877. (17981)210 648 A
  2878. 1068(*)S
  2879. (do_kill)294 2370 A
  2880. 4260(*)S
  2881. 1530 V
  2882. (17982)210 648 A
  2883. (*===========================================================================*/)3276 1068 A
  2884. 1620 V
  2885. (17983)210 648 A
  2886. (PUBLIC)252 1026 A
  2887. (int)126 1320 A
  2888. (do_kill())378 1488 A
  2889. 1710 V
  2890. (17984)210 648 A
  2891. 1026({)S
  2892. 1800 V
  2893. (17985)210 648 A
  2894. 1026(/*)S
  2895. (Perform)294 1152 A
  2896. (the)126 1488 A
  2897. (kill(pid,)378 1656 A
  2898. (signo))252 2076 A
  2899. (system)252 2370 A
  2900. (call.)210 2664 A
  2901. 2916(*/)S
  2902. 1890 V
  2903. (17986)210 648 A
  2904. 1980 V
  2905. (17987)210 648 A
  2906. (return)252 1110 A
  2907. (check_sig(pid,)588 1404 A
  2908. (sig_nr);)336 2034 A
  2909. 2070 V
  2910. (17988)210 648 A
  2911. 1026(})S
  2912. 2340 V
  2913. (17991)210 648 A
  2914. (/*===========================================================================*)3276 1026 A
  2915. 2430 V
  2916. (17992)210 648 A
  2917. 1068(*)S
  2918. (do_ksig)294 2370 A
  2919. 4260(*)S
  2920. 2520 V
  2921. (17993)210 648 A
  2922. (*===========================================================================*/)3276 1068 A
  2923. 2610 V
  2924. (17994)210 648 A
  2925. (PUBLIC)252 1026 A
  2926. (int)126 1320 A
  2927. (do_ksig())378 1488 A
  2928. 2700 V
  2929. (17995)210 648 A
  2930. 1026({)S
  2931. 2790 V
  2932. (17996)210 648 A
  2933. 1026(/*)S
  2934. (Certain)294 1152 A
  2935. (signals,)336 1488 A
  2936. (such)168 1866 A
  2937. 2076(as)S
  2938. (segmentation)504 2202 A
  2939. (violations)420 2748 A
  2940. (and)126 3210 A
  2941. (DEL,)168 3378 A
  2942. (originate)378 3588 A
  2943. 4008(in)S
  2944. (the)126 4134 A
  2945. 2880 V
  2946. (17997)210 648 A
  2947. 1068(*)S
  2948. (kernel.)294 1152 A
  2949. (When)168 1530 A
  2950. (the)126 1740 A
  2951. (kernel)252 1908 A
  2952. (detects)294 2202 A
  2953. (such)168 2538 A
  2954. (signals,)336 2748 A
  2955. 3126(it)S
  2956. (sets)168 3252 A
  2957. (bits)168 3462 A
  2958. 3672(in)S
  2959. 3798(a)S
  2960. (bit)126 3882 A
  2961. (map.)168 4050 A
  2962. 2970 V
  2963. (17998)210 648 A
  2964. 1068(*)S
  2965. 1152(As)S
  2966. (soon)168 1278 A
  2967. 1488(as)S
  2968. 1614(MM)S
  2969. 1740(is)S
  2970. (awaiting)336 1866 A
  2971. (new)126 2244 A
  2972. (work,)210 2412 A
  2973. (the)126 2664 A
  2974. (kernel)252 2832 A
  2975. (sends)210 3126 A
  2976. 3378(MM)S
  2977. 3504(a)S
  2978. (message)294 3588 A
  2979. (containing)420 3924 A
  2980. 3060 V
  2981. (17999)210 648 A
  2982. 1068(*)S
  2983. (the)126 1152 A
  2984. (process)294 1320 A
  2985. (slot)168 1656 A
  2986. (and)126 1866 A
  2987. (bit)126 2034 A
  2988. (map.)168 2202 A
  2989. (That)168 2454 A
  2990. (message)294 2664 A
  2991. (comes)210 3000 A
  2992. (here.)210 3252 A
  2993. (The)126 3546 A
  2994. (File)168 3714 A
  2995. (System)252 3924 A
  2996. 3150 V
  2997. (18000)210 648 A
  2998. 1068(*)S
  2999. (also)168 1152 A
  3000. (uses)168 1362 A
  3001. (this)168 1572 A
  3002. (mechanism)378 1782 A
  3003. 2202(to)S
  3004. (signal)252 2328 A
  3005. (writing)294 2622 A
  3006. 2958(on)S
  3007. (broken)252 3084 A
  3008. (pipes)210 3378 A
  3009. ((SIGPIPE).)420 3630 A
  3010. 3240 V
  3011. (18001)210 648 A
  3012. 1068(*/)S
  3013. 3330 V
  3014. (18002)210 648 A
  3015. 3420 V
  3016. (18003)210 648 A
  3017. (register)336 1110 A
  3018. (struct)252 1488 A
  3019. (mproc)210 1782 A
  3020. (*rmp;)210 2034 A
  3021. 3510 V
  3022. (18004)210 648 A
  3023. (int)126 1110 A
  3024. 1278(i,)S
  3025. (proc_nr;)336 1404 A
  3026. 3600 V
  3027. (18005)210 648 A
  3028. (pid_t)210 1110 A
  3029. (proc_id,)336 1362 A
  3030. (id;)126 1740 A
  3031. 3690 V
  3032. (18006)210 648 A
  3033. (sigset_t)336 1110 A
  3034. (sig_map;)336 1488 A
  3035. 3780 V
  3036. (18007)210 648 A
  3037. 3870 V
  3038. (18008)210 648 A
  3039. 1110(/*)S
  3040. (Only)168 1236 A
  3041. (kernel)252 1446 A
  3042. (may)126 1740 A
  3043. (make)168 1908 A
  3044. (this)168 2118 A
  3045. (call.)210 2328 A
  3046. 2580(*/)S
  3047. 3960 V
  3048. (18009)210 648 A
  3049. 1110(if)S
  3050. ((who)168 1236 A
  3051. 1446(!=)S
  3052. (HARDWARE))378 1572 A
  3053. (return(EPERM);)588 1992 A
  3054. 4050 V
  3055. (18010)210 648 A
  3056. (dont_reply)420 1110 A
  3057. 1572(=)S
  3058. (TRUE;)210 1656 A
  3059. 2370(/*)S
  3060. (don't)210 2496 A
  3061. (reply)210 2748 A
  3062. 3000(to)S
  3063. (the)126 3126 A
  3064. (kernel)252 3294 A
  3065. 3588(*/)S
  3066. 4140 V
  3067. (18011)210 648 A
  3068. (proc_nr)294 1110 A
  3069. 1446(=)S
  3070. (mm_in.SIG_PROC;)630 1530 A
  3071. 4230 V
  3072. (18012)210 648 A
  3073. (rmp)126 1110 A
  3074. 1278(=)S
  3075. (&mproc[proc_nr];)672 1362 A
  3076. 4320 V
  3077. (18013)210 648 A
  3078. 1110(if)S
  3079. 1236(()S
  3080. ((rmp->mp_flags)588 1320 A
  3081. 1950(&)S
  3082. (IN_USE))294 2034 A
  3083. 2370(==)S
  3084. 2496(0)S
  3085. 2580(||)S
  3086. ((rmp->mp_flags)588 2706 A
  3087. 3336(&)S
  3088. (HANGING))336 3420 A
  3089. 3798())S
  3090. (return(OK);)462 3882 A
  3091. 4410 V
  3092. (18014)210 648 A
  3093. (proc_id)294 1110 A
  3094. 1446(=)S
  3095. (rmp->mp_pid;)504 1530 A
  3096. 4500 V
  3097. (18015)210 648 A
  3098. (sig_map)294 1110 A
  3099. 1446(=)S
  3100. ((sigset_t))420 1530 A
  3101. (mm_in.SIG_MAP;)588 1992 A
  3102. 4590 V
  3103. (18016)210 648 A
  3104. 1110(mp)S
  3105. 1236(=)S
  3106. (&mproc[0];)420 1320 A
  3107. 2370(/*)S
  3108. (pretend)294 2496 A
  3109. (kernel)252 2832 A
  3110. (signals)294 3126 A
  3111. (are)126 3462 A
  3112. (from)168 3630 A
  3113. 3840(MM)S
  3114. 3966(*/)S
  3115. 4680 V
  3116. (18017)210 648 A
  3117. (mp->mp_procgrp)588 1110 A
  3118. 1740(=)S
  3119. (rmp->mp_procgrp;)672 1824 A
  3120. 2706(/*)S
  3121. (get)126 2832 A
  3122. (process)294 3000 A
  3123. (group)210 3336 A
  3124. (right)210 3588 A
  3125. 3840(*/)S
  3126. 4770 V
  3127. (18018)210 648 A
  3128. 4860 V
  3129. (18019)210 648 A
  3130. 1110(/*)S
  3131. (Check)210 1236 A
  3132. (each)168 1488 A
  3133. (bit)126 1698 A
  3134. 1866(in)S
  3135. (turn)168 1992 A
  3136. 2202(to)S
  3137. (see)126 2328 A
  3138. 2496(if)S
  3139. 2622(a)S
  3140. (signal)252 2706 A
  3141. 3000(is)S
  3142. 3126(to)S
  3143. 3252(be)S
  3144. (sent.)210 3378 A
  3145. (Unlike)252 3672 A
  3146. 4950 V
  3147. (18020)210 648 A
  3148. 1152(*)S
  3149. (kill(),)294 1236 A
  3150. (the)126 1572 A
  3151. (kernel)252 1740 A
  3152. (may)126 2034 A
  3153. (collect)294 2202 A
  3154. (several)294 2538 A
  3155. (unrelated)378 2874 A
  3156. (signals)294 3294 A
  3157. (for)126 3630 A
  3158. 3798(a)S
  3159. 5040 V
  3160. (18021)210 648 A
  3161. 1152(*)S
  3162. (process)294 1236 A
  3163. (and)126 1572 A
  3164. (pass)168 1740 A
  3165. (them)168 1950 A
  3166. 2160(to)S
  3167. 2286(MM)S
  3168. 2412(in)S
  3169. (one)126 2538 A
  3170. (blow.)210 2706 A
  3171. (Thus)168 3000 A
  3172. (loop)168 3210 A
  3173. 3420(on)S
  3174. (the)126 3546 A
  3175. (bit)126 3714 A
  3176. 5130 V
  3177. (18022)210 648 A
  3178. 1152(*)S
  3179. (map.)168 1236 A
  3180. (For)126 1446 A
  3181. (SIGINT)252 1614 A
  3182. (and)126 1908 A
  3183. (SIGQUIT,)336 2076 A
  3184. (use)126 2454 A
  3185. (proc_id)294 2622 A
  3186. 2958(0)S
  3187. 3042(to)S
  3188. (indicate)336 3168 A
  3189. 3546(a)S
  3190. (broadcast)378 3630 A
  3191. 5220 V
  3192. (18023)210 648 A
  3193. 1152(*)S
  3194. 1236(to)S
  3195. (the)126 1362 A
  3196. (recipient's)462 1530 A
  3197. (process)294 2034 A
  3198. (group.)252 2370 A
  3199. (For)126 2706 A
  3200. (SIGKILL,)336 2874 A
  3201. (use)126 3252 A
  3202. (proc_id)294 3420 A
  3203. 3756(-1)S
  3204. 3882(to)S
  3205. 5310 V
  3206. (18024)210 648 A
  3207. 1152(*)S
  3208. (indicate)336 1236 A
  3209. 1614(a)S
  3210. (systemwide)420 1698 A
  3211. (broadcast.)420 2160 A
  3212. 5400 V
  3213. (18025)210 648 A
  3214. 1152(*/)S
  3215. 5490 V
  3216. (18026)210 648 A
  3217. (for)126 1110 A
  3218. 1278((i)S
  3219. 1404(=)S
  3220. 1488(1;)S
  3221. 1614(i)S
  3222. 1698(<=)S
  3223. (_NSIG;)252 1824 A
  3224. (i++))168 2118 A
  3225. 2328({)S
  3226. 5580 V
  3227. (18027)210 648 A
  3228. 1362(if)S
  3229. ((!sigismember(&sig_map,)966 1488 A
  3230. (i)))126 2496 A
  3231. (continue;)378 2664 A
  3232. 5670 V
  3233. (18028)210 648 A
  3234. (switch)252 1362 A
  3235. ((i))126 1656 A
  3236. 1824({)S
  3237. 5760 V
  3238. (18029)210 648 A
  3239. (case)168 1530 A
  3240. (SIGINT:)294 1740 A
  3241. 5850 V
  3242. (18030)210 648 A
  3243. (case)168 1530 A
  3244. (SIGQUIT:)336 1740 A
  3245. 5940 V
  3246. (18031)210 648 A
  3247. 1698(id)S
  3248. 1824(=)S
  3249. 1908(0;)S
  3250. (break;)252 2034 A
  3251. 2370(/*)S
  3252. (broadcast)378 2496 A
  3253. 2916(to)S
  3254. (process)294 3042 A
  3255. (group)210 3378 A
  3256. 3630(*/)S
  3257. 6030 V
  3258. (18032)210 648 A
  3259. (case)168 1530 A
  3260. (SIGKILL:)336 1740 A
  3261. 6120 V
  3262. (18033)210 648 A
  3263. 1698(id)S
  3264. 1824(=)S
  3265. (-1;)126 1908 A
  3266. (break;)252 2076 A
  3267. 2370(/*)S
  3268. (broadcast)378 2496 A
  3269. 2916(to)S
  3270. (all)126 3042 A
  3271. (except)252 3210 A
  3272. (INIT)168 3504 A
  3273. 3714(*/)S
  3274. 6210 V
  3275. (18034)210 648 A
  3276. (case)168 1530 A
  3277. (SIGALRM:)336 1740 A
  3278. 8418 V
  3279. EP
  3280. %%Page: 251 251
  3281. BP
  3282. /slant 0 def
  3283. /height 0 def
  3284. 630 V
  3285. 10 R
  3286. 648(MINIX)S
  3287. 976(SOURCE)S
  3288. 1399(CODE)S
  3289. 11 R
  3290. 2068(File:)S
  3291. 2301(src/mm/signal.c)S
  3292. 12 B
  3293. (251)180 4248 A
  3294. 900 V
  3295. 7 LST
  3296. (18035)210 648 A
  3297. 1698(/*)S
  3298. (Disregard)378 1824 A
  3299. (SIGALRM)294 2244 A
  3300. (when)168 2580 A
  3301. (the)126 2790 A
  3302. (target)252 2958 A
  3303. (process)294 3252 A
  3304. (has)126 3588 A
  3305. (not)126 3756 A
  3306. 990 V
  3307. (18036)210 648 A
  3308. 1740(*)S
  3309. (requested)378 1824 A
  3310. 2244(an)S
  3311. (alarm.)252 2370 A
  3312. (This)168 2706 A
  3313. (only)168 2916 A
  3314. (applies)294 3126 A
  3315. (for)126 3462 A
  3316. 3630(a)S
  3317. (KERNEL)252 3714 A
  3318. 1080 V
  3319. (18037)210 648 A
  3320. 1740(*)S
  3321. (generated)378 1824 A
  3322. (signal.)294 2244 A
  3323. 1170 V
  3324. (18038)210 648 A
  3325. 1740(*/)S
  3326. 1260 V
  3327. (18039)210 648 A
  3328. 1698(if)S
  3329. (((rmp->mp_flags)630 1824 A
  3330. 2496(&)S
  3331. (ALARM_ON))378 2580 A
  3332. 3000(==)S
  3333. 3126(0))S
  3334. (continue;)378 3252 A
  3335. 1350 V
  3336. (18040)210 648 A
  3337. (rmp->mp_flags)546 1698 A
  3338. 2286(&=)S
  3339. (304ALARM_ON;)420 2412 A
  3340. 1440 V
  3341. (18041)210 648 A
  3342. 1698(/*)S
  3343. (fall)168 1824 A
  3344. (through)294 2034 A
  3345. 2370(*/)S
  3346. 1530 V
  3347. (18042)210 648 A
  3348. (default:)336 1530 A
  3349. 1620 V
  3350. (18043)210 648 A
  3351. 1698(id)S
  3352. 1824(=)S
  3353. (proc_id;)336 1908 A
  3354. 1710 V
  3355. (18044)210 648 A
  3356. (break;)252 1698 A
  3357. 1800 V
  3358. (18045)210 648 A
  3359. 1362(})S
  3360. 1890 V
  3361. (18046)210 648 A
  3362. (check_sig(id,)546 1362 A
  3363. (i);)126 1950 A
  3364. 1980 V
  3365. (18047)210 648 A
  3366. (sys_endsig(proc_nr);)840 1362 A
  3367. 2370(/*)S
  3368. (tell)168 2496 A
  3369. (kernel)252 2706 A
  3370. (it's)168 3000 A
  3371. (done)168 3210 A
  3372. 3420(*/)S
  3373. 2070 V
  3374. (18048)210 648 A
  3375. 1110(})S
  3376. 2160 V
  3377. (18049)210 648 A
  3378. (return(OK);)462 1110 A
  3379. 2250 V
  3380. (18050)210 648 A
  3381. 1026(})S
  3382. 2520 V
  3383. (18053)210 648 A
  3384. (/*===========================================================================*)3276 1026 A
  3385. 2610 V
  3386. (18054)210 648 A
  3387. 1068(*)S
  3388. (do_alarm)336 2370 A
  3389. 4260(*)S
  3390. 2700 V
  3391. (18055)210 648 A
  3392. (*===========================================================================*/)3276 1068 A
  3393. 2790 V
  3394. (18056)210 648 A
  3395. (PUBLIC)252 1026 A
  3396. (int)126 1320 A
  3397. (do_alarm())420 1488 A
  3398. 2880 V
  3399. (18057)210 648 A
  3400. 1026({)S
  3401. 2970 V
  3402. (18058)210 648 A
  3403. 1026(/*)S
  3404. (Perform)294 1152 A
  3405. (the)126 1488 A
  3406. (alarm(seconds))588 1656 A
  3407. (system)252 2286 A
  3408. (call.)210 2580 A
  3409. 2832(*/)S
  3410. 3060 V
  3411. (18059)210 648 A
  3412. 3150 V
  3413. (18060)210 648 A
  3414. (return(set_alarm(who,)882 1110 A
  3415. (seconds));)420 2034 A
  3416. 3240 V
  3417. (18061)210 648 A
  3418. 1026(})S
  3419. 3510 V
  3420. (18064)210 648 A
  3421. (/*===========================================================================*)3276 1026 A
  3422. 3600 V
  3423. (18065)210 648 A
  3424. 1068(*)S
  3425. (set_alarm)378 2370 A
  3426. 4260(*)S
  3427. 3690 V
  3428. (18066)210 648 A
  3429. (*===========================================================================*/)3276 1068 A
  3430. 3780 V
  3431. (18067)210 648 A
  3432. (PUBLIC)252 1026 A
  3433. (int)126 1320 A
  3434. (set_alarm(proc_nr,)756 1488 A
  3435. (sec))168 2286 A
  3436. 3870 V
  3437. (18068)210 648 A
  3438. (int)126 1026 A
  3439. (proc_nr;)336 1194 A
  3440. 2370(/*)S
  3441. (process)294 2496 A
  3442. (that)168 2832 A
  3443. (wants)210 3042 A
  3444. (the)126 3294 A
  3445. (alarm)210 3462 A
  3446. 3714(*/)S
  3447. 3960 V
  3448. (18069)210 648 A
  3449. (int)126 1026 A
  3450. (sec;)168 1194 A
  3451. 2370(/*)S
  3452. (how)126 2496 A
  3453. (many)168 2664 A
  3454. (seconds)294 2874 A
  3455. (delay)210 3210 A
  3456. (before)252 3462 A
  3457. (the)126 3756 A
  3458. (signal)252 3924 A
  3459. 4218(*/)S
  3460. 4050 V
  3461. (18070)210 648 A
  3462. 1026({)S
  3463. 4140 V
  3464. (18071)210 648 A
  3465. 1026(/*)S
  3466. (This)168 1152 A
  3467. (routine)294 1362 A
  3468. 1698(is)S
  3469. (used)168 1824 A
  3470. 2034(by)S
  3471. (do_alarm())420 2160 A
  3472. 2622(to)S
  3473. (set)126 2748 A
  3474. (the)126 2916 A
  3475. (alarm)210 3084 A
  3476. (timer.)252 3336 A
  3477. 3672(It)S
  3478. 3798(is)S
  3479. (also)168 3924 A
  3480. (used)168 4134 A
  3481. 4230 V
  3482. (18072)210 648 A
  3483. 1068(*)S
  3484. 1152(to)S
  3485. (turn)168 1278 A
  3486. (the)126 1488 A
  3487. (timer)210 1656 A
  3488. (off)126 1908 A
  3489. (when)168 2076 A
  3490. 2286(a)S
  3491. (process)294 2370 A
  3492. (exits)210 2706 A
  3493. (with)168 2958 A
  3494. (the)126 3168 A
  3495. (timer)210 3336 A
  3496. (still)210 3588 A
  3497. (on.)126 3840 A
  3498. 4320 V
  3499. (18073)210 648 A
  3500. 1068(*/)S
  3501. 4410 V
  3502. (18074)210 648 A
  3503. 4500 V
  3504. (18075)210 648 A
  3505. (message)294 1110 A
  3506. (m_sig;)252 1446 A
  3507. 4590 V
  3508. (18076)210 648 A
  3509. (int)126 1110 A
  3510. (remaining;)420 1278 A
  3511. 4680 V
  3512. (18077)210 648 A
  3513. 4770 V
  3514. (18078)210 648 A
  3515. 1110(if)S
  3516. ((sec)168 1236 A
  3517. 1446(!=)S
  3518. 1572(0))S
  3519. 4860 V
  3520. (18079)210 648 A
  3521. (mproc[proc_nr].mp_flags)966 1362 A
  3522. 2370(|=)S
  3523. (ALARM_ON;)378 2496 A
  3524. 4950 V
  3525. (18080)210 648 A
  3526. (else)168 1110 A
  3527. 5040 V
  3528. (18081)210 648 A
  3529. (mproc[proc_nr].mp_flags)966 1362 A
  3530. 2370(&=)S
  3531. (304ALARM_ON;)420 2496 A
  3532. 5130 V
  3533. (18082)210 648 A
  3534. 5220 V
  3535. (18083)210 648 A
  3536. 1110(/*)S
  3537. (Tell)168 1236 A
  3538. (the)126 1446 A
  3539. (clock)210 1614 A
  3540. (task)168 1866 A
  3541. 2076(to)S
  3542. (provide)294 2202 A
  3543. 2538(a)S
  3544. (signal)252 2622 A
  3545. (message)294 2916 A
  3546. (when)168 3252 A
  3547. (the)126 3462 A
  3548. (time)168 3630 A
  3549. (comes.)252 3840 A
  3550. 5310 V
  3551. (18084)210 648 A
  3552. 1152(*)S
  3553. 5400 V
  3554. (18085)210 648 A
  3555. 1152(*)S
  3556. (Large)210 1236 A
  3557. (delays)252 1488 A
  3558. (cause)210 1782 A
  3559. 2034(a)S
  3560. (lot)126 2118 A
  3561. 2286(of)S
  3562. (problems.)378 2412 A
  3563. (First,)252 2874 A
  3564. (the)126 3168 A
  3565. (alarm)210 3336 A
  3566. (system)252 3588 A
  3567. (call)168 3882 A
  3568. 5490 V
  3569. (18086)210 648 A
  3570. 1152(*)S
  3571. (takes)210 1236 A
  3572. 1488(an)S
  3573. (unsigned)336 1614 A
  3574. (seconds)294 1992 A
  3575. (count)210 2328 A
  3576. (and)126 2580 A
  3577. (the)126 2748 A
  3578. (library)294 2916 A
  3579. (has)126 3252 A
  3580. (cast)168 3420 A
  3581. 3630(it)S
  3582. 3756(to)S
  3583. 3882(an)S
  3584. (int.)168 4008 A
  3585. 5580 V
  3586. (18087)210 648 A
  3587. 1152(*)S
  3588. (That)168 1236 A
  3589. (probably)336 1446 A
  3590. (works,)252 1824 A
  3591. (but)126 2118 A
  3592. 2286(on)S
  3593. (return)252 2412 A
  3594. (the)126 2706 A
  3595. (library)294 2874 A
  3596. (will)168 3210 A
  3597. (convert)294 3420 A
  3598. ("negative")420 3756 A
  3599. 5670 V
  3600. (18088)210 648 A
  3601. 1152(*)S
  3602. (unsigneds)378 1236 A
  3603. 1656(to)S
  3604. (errors.)294 1782 A
  3605. (Presumably)420 2160 A
  3606. 2622(no)S
  3607. (one)126 2748 A
  3608. (checks)252 2916 A
  3609. (for)126 3210 A
  3610. (these)210 3378 A
  3611. (errors,)294 3630 A
  3612. 3966(so)S
  3613. 5760 V
  3614. (18089)210 648 A
  3615. 1152(*)S
  3616. (force)210 1236 A
  3617. (this)168 1488 A
  3618. (call)168 1698 A
  3619. (through.)336 1908 A
  3620. (Second,)294 2328 A
  3621. 2664(If)S
  3622. (unsigned)336 2790 A
  3623. (and)126 3168 A
  3624. (long)168 3336 A
  3625. (have)168 3546 A
  3626. (the)126 3756 A
  3627. (same)168 3924 A
  3628. 5850 V
  3629. (18090)210 648 A
  3630. 1152(*)S
  3631. (size,)210 1236 A
  3632. (converting)420 1488 A
  3633. (from)168 1950 A
  3634. (seconds)294 2160 A
  3635. 2496(to)S
  3636. (ticks)210 2622 A
  3637. (can)126 2874 A
  3638. (easily)252 3042 A
  3639. (overflow.)378 3336 A
  3640. (Finally,)336 3798 A
  3641. 5940 V
  3642. (18091)210 648 A
  3643. 1152(*)S
  3644. (the)126 1236 A
  3645. (kernel)252 1404 A
  3646. (has)126 1698 A
  3647. (similar)294 1866 A
  3648. (overflow)336 2202 A
  3649. (bugs)168 2580 A
  3650. (adding)252 2790 A
  3651. (ticks.)252 3084 A
  3652. 6030 V
  3653. (18092)210 648 A
  3654. 1152(*)S
  3655. 6120 V
  3656. (18093)210 648 A
  3657. 1152(*)S
  3658. (Fixing)252 1236 A
  3659. (this)168 1530 A
  3660. (requires)336 1740 A
  3661. 2118(a)S
  3662. (lot)126 2202 A
  3663. 2370(of)S
  3664. (ugly)168 2496 A
  3665. (casts)210 2706 A
  3666. 2958(to)S
  3667. (fit)126 3084 A
  3668. (the)126 3252 A
  3669. (wrong)210 3420 A
  3670. (interface)378 3672 A
  3671. 6210 V
  3672. (18094)210 648 A
  3673. 1152(*)S
  3674. (types)210 1236 A
  3675. (and)126 1488 A
  3676. 1656(to)S
  3677. (avoid)210 1782 A
  3678. (overflow)336 2034 A
  3679. (traps.)252 2412 A
  3680. (DELTA_TICKS)462 2748 A
  3681. (has)126 3252 A
  3682. (the)126 3420 A
  3683. (right)210 3588 A
  3684. (type)168 3840 A
  3685. 8418 V
  3686. EP
  3687. %%Page: 252 252
  3688. BP
  3689. /slant 0 def
  3690. /height 0 def
  3691. 630 V
  3692. 12 B
  3693. (252)180 648 A
  3694. 11 R
  3695. 2068(File:)S
  3696. 2301(src/mm/signal.c)S
  3697. 10 R
  3698. 3402(MINIX)S
  3699. 3730(SOURCE)S
  3700. 4153(CODE)S
  3701. 900 V
  3702. 7 LST
  3703. (18095)210 648 A
  3704. 1152(*)S
  3705. ((clock_t))378 1236 A
  3706. (although)336 1656 A
  3707. 2034(it)S
  3708. 2160(is)S
  3709. (declared)336 2286 A
  3710. 2664(as)S
  3711. (long.)210 2790 A
  3712. (How)126 3084 A
  3713. (can)126 3252 A
  3714. (variables)378 3420 A
  3715. (like)168 3840 A
  3716. 990 V
  3717. (18096)210 648 A
  3718. 1152(*)S
  3719. (this)168 1236 A
  3720. 1446(be)S
  3721. (declared)336 1572 A
  3722. (properly)336 1950 A
  3723. (without)294 2328 A
  3724. (combinatorial)546 2664 A
  3725. (explosion)378 3252 A
  3726. 3672(of)S
  3727. (message)294 3798 A
  3728. 1080 V
  3729. (18097)210 648 A
  3730. 1152(*)S
  3731. (types?)252 1236 A
  3732. 1170 V
  3733. (18098)210 648 A
  3734. 1152(*/)S
  3735. 1260 V
  3736. (18099)210 648 A
  3737. (m_sig.m_type)504 1110 A
  3738. 1656(=)S
  3739. (SET_ALARM;)420 1740 A
  3740. 1350 V
  3741. (18100)210 648 A
  3742. (m_sig.CLOCK_PROC_NR)798 1110 A
  3743. 1950(=)S
  3744. (proc_nr;)336 2034 A
  3745. 1440 V
  3746. (18101)210 648 A
  3747. (m_sig.DELTA_TICKS)714 1110 A
  3748. 1866(=)S
  3749. ((clock_t))378 1950 A
  3750. ((HZ)126 2370 A
  3751. 2538(*)S
  3752. ((unsigned)378 2622 A
  3753. (long))210 3042 A
  3754. ((unsigned))420 3294 A
  3755. (sec);)210 3756 A
  3756. 1530 V
  3757. (18102)210 648 A
  3758. 1110(if)S
  3759. 1236(()S
  3760. ((unsigned)378 1320 A
  3761. (long))210 1740 A
  3762. (m_sig.DELTA_TICKS)714 1992 A
  3763. 2748(/)S
  3764. 2832(HZ)S
  3765. 2958(!=)S
  3766. ((unsigned))420 3084 A
  3767. (sec))168 3546 A
  3768. 1620 V
  3769. (18103)210 648 A
  3770. (m_sig.DELTA_TICKS)714 1362 A
  3771. 2118(=)S
  3772. (LONG_MAX;)378 2202 A
  3773. 2706(/*)S
  3774. (eternity)336 2832 A
  3775. ((really)294 3210 A
  3776. (CLOCK_T_MAX))504 3546 A
  3777. 4092(*/)S
  3778. 1710 V
  3779. (18104)210 648 A
  3780. 1110(if)S
  3781. ((sendrec(CLOCK,)630 1236 A
  3782. (&m_sig))294 1908 A
  3783. 2244(!=)S
  3784. (OK))126 2370 A
  3785. (panic("alarm)504 2538 A
  3786. (er",)168 3084 A
  3787. (NO_NUM);)336 3294 A
  3788. 1800 V
  3789. (18105)210 648 A
  3790. (remaining)378 1110 A
  3791. 1530(=)S
  3792. ((int))210 1614 A
  3793. (m_sig.SECONDS_LEFT;)798 1866 A
  3794. 1890 V
  3795. (18106)210 648 A
  3796. 1110(if)S
  3797. ((remaining)420 1236 A
  3798. 1698(!=)S
  3799. (m_sig.SECONDS_LEFT)756 1824 A
  3800. 2622(||)S
  3801. (remaining)378 2748 A
  3802. 3168(<)S
  3803. 3252(0))S
  3804. 1980 V
  3805. (18107)210 648 A
  3806. (remaining)378 1362 A
  3807. 1782(=)S
  3808. (INT_MAX;)336 1866 A
  3809. 2370(/*)S
  3810. (true)168 2496 A
  3811. (value)210 2706 A
  3812. 2958(is)S
  3813. (not)126 3084 A
  3814. (representable)546 3252 A
  3815. 3840(*/)S
  3816. 2070 V
  3817. (18108)210 648 A
  3818. (return(remaining);)756 1110 A
  3819. 2160 V
  3820. (18109)210 648 A
  3821. 1026(})S
  3822. 2430 V
  3823. (18112)210 648 A
  3824. (/*===========================================================================*)3276 1026 A
  3825. 2520 V
  3826. (18113)210 648 A
  3827. 1068(*)S
  3828. (do_pause)336 2370 A
  3829. 4260(*)S
  3830. 2610 V
  3831. (18114)210 648 A
  3832. (*===========================================================================*/)3276 1068 A
  3833. 2700 V
  3834. (18115)210 648 A
  3835. (PUBLIC)252 1026 A
  3836. (int)126 1320 A
  3837. (do_pause())420 1488 A
  3838. 2790 V
  3839. (18116)210 648 A
  3840. 1026({)S
  3841. 2880 V
  3842. (18117)210 648 A
  3843. 1026(/*)S
  3844. (Perform)294 1152 A
  3845. (the)126 1488 A
  3846. (pause())294 1656 A
  3847. (system)252 1992 A
  3848. (call.)210 2286 A
  3849. 2538(*/)S
  3850. 2970 V
  3851. (18118)210 648 A
  3852. 3060 V
  3853. (18119)210 648 A
  3854. (mp->mp_flags)504 1110 A
  3855. 1656(|=)S
  3856. (PAUSED;)294 1782 A
  3857. 3150 V
  3858. (18120)210 648 A
  3859. (dont_reply)420 1110 A
  3860. 1572(=)S
  3861. (TRUE;)210 1656 A
  3862. 3240 V
  3863. (18121)210 648 A
  3864. (return(OK);)462 1110 A
  3865. 3330 V
  3866. (18122)210 648 A
  3867. 1026(})S
  3868. 3600 V
  3869. (18125)210 648 A
  3870. (/*=====================================================================*)3024 1026 A
  3871. 3690 V
  3872. (18126)210 648 A
  3873. 1068(*)S
  3874. (do_reboot)378 2202 A
  3875. 4008(*)S
  3876. 3780 V
  3877. (18127)210 648 A
  3878. (*=====================================================================*/)3024 1068 A
  3879. 3870 V
  3880. (18128)210 648 A
  3881. (PUBLIC)252 1026 A
  3882. (int)126 1320 A
  3883. (do_reboot())462 1488 A
  3884. 3960 V
  3885. (18129)210 648 A
  3886. 1026({)S
  3887. 4050 V
  3888. (18130)210 648 A
  3889. (register)336 1110 A
  3890. (struct)252 1488 A
  3891. (mproc)210 1782 A
  3892. (*rmp)168 2034 A
  3893. 2244(=)S
  3894. (mp;)126 2328 A
  3895. 4140 V
  3896. (18131)210 648 A
  3897. (char)168 1110 A
  3898. (monitor_code[64];)714 1320 A
  3899. 4230 V
  3900. (18132)210 648 A
  3901. 4320 V
  3902. (18133)210 648 A
  3903. 1110(if)S
  3904. ((rmp->mp_effuid)630 1236 A
  3905. 1908(!=)S
  3906. (SUPER_USER))462 2034 A
  3907. (return)252 2622 A
  3908. (EPERM;)252 2916 A
  3909. 4410 V
  3910. (18134)210 648 A
  3911. 4500 V
  3912. (18135)210 648 A
  3913. (switch)252 1110 A
  3914. ((reboot_flag))546 1404 A
  3915. 1992({)S
  3916. 4590 V
  3917. (18136)210 648 A
  3918. (case)168 1110 A
  3919. (RBT_HALT:)378 1320 A
  3920. 4680 V
  3921. (18137)210 648 A
  3922. (case)168 1110 A
  3923. (RBT_REBOOT:)462 1320 A
  3924. 4770 V
  3925. (18138)210 648 A
  3926. (case)168 1110 A
  3927. (RBT_PANIC:)420 1320 A
  3928. 4860 V
  3929. (18139)210 648 A
  3930. (case)168 1110 A
  3931. (RBT_RESET:)420 1320 A
  3932. 4950 V
  3933. (18140)210 648 A
  3934. (break;)252 1362 A
  3935. 5040 V
  3936. (18141)210 648 A
  3937. (case)168 1110 A
  3938. (RBT_MONITOR:)504 1320 A
  3939. 5130 V
  3940. (18142)210 648 A
  3941. 1362(if)S
  3942. ((reboot_size)504 1488 A
  3943. 2034(>)S
  3944. (sizeof(monitor_code)))882 2118 A
  3945. (return)252 3042 A
  3946. (EINVAL;)294 3336 A
  3947. 5220 V
  3948. (18143)210 648 A
  3949. (memset(monitor_code,)840 1362 A
  3950. 2244(0,)S
  3951. (sizeof(monitor_code));)924 2370 A
  3952. 5310 V
  3953. (18144)210 648 A
  3954. 1362(if)S
  3955. ((sys_copy(who,)588 1488 A
  3956. 2118(D,)S
  3957. ((phys_bytes))504 2244 A
  3958. (reboot_code,)504 2790 A
  3959. 5400 V
  3960. (18145)210 648 A
  3961. (MM_PROC_NR,)462 1698 A
  3962. 2202(D,)S
  3963. ((phys_bytes))504 2328 A
  3964. (monitor_code,)546 2874 A
  3965. 5490 V
  3966. (18146)210 648 A
  3967. ((phys_bytes))504 1698 A
  3968. (reboot_size))504 2244 A
  3969. 2790(!=)S
  3970. (OK))126 2916 A
  3971. (return)252 3084 A
  3972. (EFAULT;)294 3378 A
  3973. 5580 V
  3974. (18147)210 648 A
  3975. 1362(if)S
  3976. ((monitor_code[sizeof(monitor_code)-1])1554 1488 A
  3977. 3084(!=)S
  3978. 3210(0))S
  3979. (return)252 3336 A
  3980. (EINVAL;)294 3630 A
  3981. 5670 V
  3982. (18148)210 648 A
  3983. (break;)252 1362 A
  3984. 5760 V
  3985. (18149)210 648 A
  3986. (default:)336 1110 A
  3987. 5850 V
  3988. (18150)210 648 A
  3989. (return)252 1362 A
  3990. (EINVAL;)294 1656 A
  3991. 5940 V
  3992. (18151)210 648 A
  3993. 1110(})S
  3994. 6030 V
  3995. (18152)210 648 A
  3996. 6120 V
  3997. (18153)210 648 A
  3998. 1110(/*)S
  3999. (Kill)168 1236 A
  4000. (all)126 1446 A
  4001. (processes)378 1614 A
  4002. (except)252 2034 A
  4003. (init.)210 2328 A
  4004. 2580(*/)S
  4005. 6210 V
  4006. (18154)210 648 A
  4007. (check_sig(-1,)546 1110 A
  4008. (SIGKILL);)378 1698 A
  4009. 8418 V
  4010. EP
  4011. %%Page: 253 253
  4012. BP
  4013. /slant 0 def
  4014. /height 0 def
  4015. 630 V
  4016. 10 R
  4017. 648(MINIX)S
  4018. 976(SOURCE)S
  4019. 1399(CODE)S
  4020. 11 R
  4021. 2068(File:)S
  4022. 2301(src/mm/signal.c)S
  4023. 12 B
  4024. (253)180 4248 A
  4025. 900 V
  4026. 7 LST
  4027. (18155)210 648 A
  4028. 990 V
  4029. (18156)210 648 A
  4030. (tell_fs(EXIT,)546 1110 A
  4031. (INIT_PROC_NR,)546 1698 A
  4032. 2286(0,)S
  4033. (0);)126 2412 A
  4034. 2706(/*)S
  4035. (cleanup)294 2832 A
  4036. (init)168 3168 A
  4037. 3378(*/)S
  4038. 1080 V
  4039. (18157)210 648 A
  4040. 1170 V
  4041. (18158)210 648 A
  4042. (tell_fs(SYNC,0,0,0);)840 1110 A
  4043. 1260 V
  4044. (18159)210 648 A
  4045. 1350 V
  4046. (18160)210 648 A
  4047. (sys_abort(reboot_flag,)924 1110 A
  4048. (monitor_code);)588 2076 A
  4049. 1440 V
  4050. (18161)210 648 A
  4051. 1110(/*)S
  4052. (NOTREACHED)420 1236 A
  4053. 1698(*/)S
  4054. 1530 V
  4055. (18162)210 648 A
  4056. 1026(})S
  4057. 1800 V
  4058. (18165)210 648 A
  4059. (/*===========================================================================*)3276 1026 A
  4060. 1890 V
  4061. (18166)210 648 A
  4062. 1068(*)S
  4063. (sig_proc)336 2370 A
  4064. 4260(*)S
  4065. 1980 V
  4066. (18167)210 648 A
  4067. (*===========================================================================*/)3276 1068 A
  4068. 2070 V
  4069. (18168)210 648 A
  4070. (PUBLIC)252 1026 A
  4071. (void)168 1320 A
  4072. (sig_proc(rmp,)546 1530 A
  4073. (signo))252 2118 A
  4074. 2160 V
  4075. (18169)210 648 A
  4076. (register)336 1026 A
  4077. (struct)252 1404 A
  4078. (mproc)210 1698 A
  4079. (*rmp;)210 1950 A
  4080. 2370(/*)S
  4081. (pointer)294 2496 A
  4082. 2832(to)S
  4083. (the)126 2958 A
  4084. (process)294 3126 A
  4085. 3462(to)S
  4086. 3588(be)S
  4087. (signaled)336 3714 A
  4088. 4092(*/)S
  4089. 2250 V
  4090. (18170)210 648 A
  4091. (int)126 1026 A
  4092. (signo;)252 1194 A
  4093. 2370(/*)S
  4094. (signal)252 2496 A
  4095. 2790(to)S
  4096. (send)168 2916 A
  4097. 3126(to)S
  4098. (process)294 3252 A
  4099. 3588((1)S
  4100. 3714(to)S
  4101. (_NSIG))252 3840 A
  4102. 4134(*/)S
  4103. 2340 V
  4104. (18171)210 648 A
  4105. 1026({)S
  4106. 2430 V
  4107. (18172)210 648 A
  4108. 1026(/*)S
  4109. (Send)168 1152 A
  4110. 1362(a)S
  4111. (signal)252 1446 A
  4112. 1740(to)S
  4113. 1866(a)S
  4114. (process.)336 1950 A
  4115. (Check)210 2370 A
  4116. 2622(to)S
  4117. (see)126 2748 A
  4118. 2916(if)S
  4119. (the)126 3042 A
  4120. (signal)252 3210 A
  4121. 3504(is)S
  4122. 3630(to)S
  4123. 3756(be)S
  4124. (caught,)294 3882 A
  4125. 2520 V
  4126. (18173)210 648 A
  4127. 1068(*)S
  4128. (ignored,)336 1152 A
  4129. 1530(or)S
  4130. (blocked.)336 1656 A
  4131. 2076(If)S
  4132. (the)126 2202 A
  4133. (signal)252 2370 A
  4134. 2664(is)S
  4135. 2790(to)S
  4136. 2916(be)S
  4137. (caught,)294 3042 A
  4138. (coordinate)420 3378 A
  4139. (with)168 3840 A
  4140. 2610 V
  4141. (18174)210 648 A
  4142. 1068(*)S
  4143. (KERNEL)252 1152 A
  4144. 1446(to)S
  4145. (push)168 1572 A
  4146. 1782(a)S
  4147. (sigcontext)420 1866 A
  4148. (structure)378 2328 A
  4149. (and)126 2748 A
  4150. 2916(a)S
  4151. (sigframe)336 3000 A
  4152. (structure)378 3378 A
  4153. (onto)168 3798 A
  4154. 2700 V
  4155. (18175)210 648 A
  4156. 1068(*)S
  4157. (the)126 1152 A
  4158. (catcher's)378 1320 A
  4159. (stack.)252 1740 A
  4160. (Also,)210 2076 A
  4161. (KERNEL)252 2328 A
  4162. (will)168 2622 A
  4163. (reset)210 2832 A
  4164. (the)126 3084 A
  4165. (program)294 3252 A
  4166. (counter)294 3588 A
  4167. (and)126 3924 A
  4168. 2790 V
  4169. (18176)210 648 A
  4170. 1068(*)S
  4171. (stack)210 1152 A
  4172. (pointer,)336 1404 A
  4173. 1782(so)S
  4174. (that)168 1908 A
  4175. (when)168 2118 A
  4176. (the)126 2328 A
  4177. (process)294 2496 A
  4178. (next)168 2832 A
  4179. (runs,)210 3042 A
  4180. 3294(it)S
  4181. (will)168 3420 A
  4182. 3630(be)S
  4183. (executing)378 3756 A
  4184. 2880 V
  4185. (18177)210 648 A
  4186. 1068(*)S
  4187. (the)126 1152 A
  4188. (signal)252 1320 A
  4189. (handler.)336 1614 A
  4190. (When)168 2034 A
  4191. (the)126 2244 A
  4192. (signal)252 2412 A
  4193. (handler)294 2706 A
  4194. (returns,)336 3042 A
  4195. (sigreturn(2))504 3462 A
  4196. 2970 V
  4197. (18178)210 648 A
  4198. 1068(*)S
  4199. (will)168 1152 A
  4200. 1362(be)S
  4201. (called.)294 1488 A
  4202. (Then)168 1866 A
  4203. (KERNEL)252 2076 A
  4204. (will)168 2370 A
  4205. (restore)294 2580 A
  4206. (the)126 2916 A
  4207. (signal)252 3084 A
  4208. (context)294 3378 A
  4209. (from)168 3714 A
  4210. (the)126 3924 A
  4211. 3060 V
  4212. (18179)210 648 A
  4213. 1068(*)S
  4214. (sigcontext)420 1152 A
  4215. (structure.)420 1614 A
  4216. 3150 V
  4217. (18180)210 648 A
  4218. 1068(*)S
  4219. 3240 V
  4220. (18181)210 648 A
  4221. 1068(*)S
  4222. 1152(If)S
  4223. (there)210 1278 A
  4224. 1530(is)S
  4225. (insufficient)504 1656 A
  4226. (stack)210 2202 A
  4227. (space,)252 2454 A
  4228. (kill)168 2748 A
  4229. (the)126 2958 A
  4230. (process.)336 3126 A
  4231. 3330 V
  4232. (18182)210 648 A
  4233. 1068(*/)S
  4234. 3420 V
  4235. (18183)210 648 A
  4236. 3510 V
  4237. (18184)210 648 A
  4238. (vir_bytes)378 1110 A
  4239. (new_sp;)294 1530 A
  4240. 3600 V
  4241. (18185)210 648 A
  4242. (int)126 1110 A
  4243. (slot;)210 1278 A
  4244. 3690 V
  4245. (18186)210 648 A
  4246. (int)126 1110 A
  4247. (sigflags;)378 1278 A
  4248. 3780 V
  4249. (18187)210 648 A
  4250. (struct)252 1110 A
  4251. (sigmsg)252 1404 A
  4252. (sm;)126 1698 A
  4253. 3870 V
  4254. (18188)210 648 A
  4255. 3960 V
  4256. (18189)210 648 A
  4257. (slot)168 1110 A
  4258. 1320(=)S
  4259. ((int))210 1404 A
  4260. ((rmp)168 1656 A
  4261. 1866(-)S
  4262. (mproc);)294 1950 A
  4263. 4050 V
  4264. (18190)210 648 A
  4265. 1110(if)S
  4266. ((!(rmp->mp_flags)672 1236 A
  4267. 1950(&)S
  4268. (IN_USE)))336 2034 A
  4269. 2412({)S
  4270. 4140 V
  4271. (18191)210 648 A
  4272. (printf("MM:)462 1362 A
  4273. (signal)252 1866 A
  4274. 2160(%d)S
  4275. (sent)168 2286 A
  4276. 2496(to)S
  4277. (dead)168 2622 A
  4278. (process)294 2832 A
  4279. (%d\n",)252 3168 A
  4280. (signo,)252 3462 A
  4281. (slot);)252 3756 A
  4282. 4230 V
  4283. (18192)210 648 A
  4284. (panic("",)378 1362 A
  4285. (NO_NUM);)336 1782 A
  4286. 4320 V
  4287. (18193)210 648 A
  4288. 1110(})S
  4289. 4410 V
  4290. (18194)210 648 A
  4291. 1110(if)S
  4292. ((rmp->mp_flags)588 1236 A
  4293. 1866(&)S
  4294. (HANGING))336 1950 A
  4295. 2328({)S
  4296. 4500 V
  4297. (18195)210 648 A
  4298. (printf("MM:)462 1362 A
  4299. (signal)252 1866 A
  4300. 2160(%d)S
  4301. (sent)168 2286 A
  4302. 2496(to)S
  4303. (HANGING)294 2622 A
  4304. (process)294 2958 A
  4305. (%d\n",)252 3294 A
  4306. (signo,)252 3588 A
  4307. (slot);)252 3882 A
  4308. 4590 V
  4309. (18196)210 648 A
  4310. (panic("",)378 1362 A
  4311. (NO_NUM);)336 1782 A
  4312. 4680 V
  4313. (18197)210 648 A
  4314. 1110(})S
  4315. 4770 V
  4316. (18198)210 648 A
  4317. 1110(if)S
  4318. ((rmp->mp_flags)588 1236 A
  4319. 1866(&)S
  4320. (TRACED)252 1950 A
  4321. 2244(&&)S
  4322. (signo)210 2370 A
  4323. 2622(!=)S
  4324. (SIGKILL))336 2748 A
  4325. 3126({)S
  4326. 4860 V
  4327. (18199)210 648 A
  4328. 1362(/*)S
  4329. 1488(A)S
  4330. (traced)252 1572 A
  4331. (process)294 1866 A
  4332. (has)126 2202 A
  4333. (special)294 2370 A
  4334. (handling.)378 2706 A
  4335. 3126(*/)S
  4336. 4950 V
  4337. (18200)210 648 A
  4338. (unpause(slot);)588 1362 A
  4339. 5040 V
  4340. (18201)210 648 A
  4341. (stop_proc(rmp,)588 1362 A
  4342. (signo);)294 1992 A
  4343. 2370(/*)S
  4344. 2496(a)S
  4345. (signal)252 2580 A
  4346. (causes)252 2874 A
  4347. 3168(it)S
  4348. 3294(to)S
  4349. (stop)168 3420 A
  4350. 3630(*/)S
  4351. 5130 V
  4352. (18202)210 648 A
  4353. (return;)294 1362 A
  4354. 5220 V
  4355. (18203)210 648 A
  4356. 1110(})S
  4357. 5310 V
  4358. (18204)210 648 A
  4359. 1110(/*)S
  4360. (Some)168 1236 A
  4361. (signals)294 1446 A
  4362. (are)126 1782 A
  4363. (ignored)294 1950 A
  4364. 2286(by)S
  4365. (default.)336 2412 A
  4366. 2790(*/)S
  4367. 5400 V
  4368. (18205)210 648 A
  4369. 1110(if)S
  4370. ((sigismember(&rmp->mp_ignore,)1218 1236 A
  4371. (signo)))294 2496 A
  4372. (return;)294 2832 A
  4373. 5490 V
  4374. (18206)210 648 A
  4375. 5580 V
  4376. (18207)210 648 A
  4377. 1110(if)S
  4378. ((sigismember(&rmp->mp_sigmask,)1260 1236 A
  4379. (signo)))294 2538 A
  4380. 2874({)S
  4381. 5670 V
  4382. (18208)210 648 A
  4383. 1362(/*)S
  4384. (Signal)252 1488 A
  4385. (should)252 1782 A
  4386. 2076(be)S
  4387. (blocked.)336 2202 A
  4388. 2580(*/)S
  4389. 5760 V
  4390. (18209)210 648 A
  4391. (sigaddset(&rmp->mp_sigpending,)1260 1362 A
  4392. (signo);)294 2664 A
  4393. 5850 V
  4394. (18210)210 648 A
  4395. (return;)294 1362 A
  4396. 5940 V
  4397. (18211)210 648 A
  4398. 1110(})S
  4399. 6030 V
  4400. (18212)210 648 A
  4401. (sigflags)336 1110 A
  4402. 1488(=)S
  4403. (rmp->mp_sigact[signo].sa_flags;)1302 1572 A
  4404. 6120 V
  4405. (18213)210 648 A
  4406. 1110(if)S
  4407. ((sigismember(&rmp->mp_catch,)1176 1236 A
  4408. (signo)))294 2454 A
  4409. 2790({)S
  4410. 6210 V
  4411. (18214)210 648 A
  4412. 1362(if)S
  4413. ((rmp->mp_flags)588 1488 A
  4414. 2118(&)S
  4415. (SIGSUSPENDED))546 2202 A
  4416. 8418 V
  4417. EP
  4418. %%Page: 254 254
  4419. BP
  4420. /slant 0 def
  4421. /height 0 def
  4422. 630 V
  4423. 12 B
  4424. (254)180 648 A
  4425. 11 R
  4426. 2068(File:)S
  4427. 2301(src/mm/signal.c)S
  4428. 10 R
  4429. 3402(MINIX)S
  4430. 3730(SOURCE)S
  4431. 4153(CODE)S
  4432. 900 V
  4433. 7 LST
  4434. (18215)210 648 A
  4435. (sm.sm_mask)420 1698 A
  4436. 2160(=)S
  4437. (rmp->mp_sigmask2;)714 2244 A
  4438. 990 V
  4439. (18216)210 648 A
  4440. (else)168 1362 A
  4441. 1080 V
  4442. (18217)210 648 A
  4443. (sm.sm_mask)420 1698 A
  4444. 2160(=)S
  4445. (rmp->mp_sigmask;)672 2244 A
  4446. 1170 V
  4447. (18218)210 648 A
  4448. (sm.sm_signo)462 1362 A
  4449. 1866(=)S
  4450. (signo;)252 1950 A
  4451. 1260 V
  4452. (18219)210 648 A
  4453. (sm.sm_sighandler)672 1362 A
  4454. 2076(=)S
  4455. ((vir_bytes))462 2160 A
  4456. (rmp->mp_sigact[signo].sa_handler;)1386 2664 A
  4457. 1350 V
  4458. (18220)210 648 A
  4459. (sm.sm_sigreturn)630 1362 A
  4460. 2034(=)S
  4461. (rmp->mp_sigreturn;)756 2118 A
  4462. 1440 V
  4463. (18221)210 648 A
  4464. (sys_getsp(slot,)630 1362 A
  4465. (&new_sp);)378 2034 A
  4466. 1530 V
  4467. (18222)210 648 A
  4468. (sm.sm_stkptr)504 1362 A
  4469. 1908(=)S
  4470. (new_sp;)294 1992 A
  4471. 1620 V
  4472. (18223)210 648 A
  4473. 1710 V
  4474. (18224)210 648 A
  4475. 1362(/*)S
  4476. (Make)168 1488 A
  4477. (room)168 1698 A
  4478. (for)126 1908 A
  4479. (the)126 2076 A
  4480. (sigcontext)420 2244 A
  4481. (and)126 2706 A
  4482. (sigframe)336 2874 A
  4483. (struct.)294 3252 A
  4484. 3588(*/)S
  4485. 1800 V
  4486. (18225)210 648 A
  4487. (new_sp)252 1362 A
  4488. 1656(-=)S
  4489. (sizeof(struct)546 1782 A
  4490. (sigcontext))462 2370 A
  4491. 1890 V
  4492. (18226)210 648 A
  4493. 2412(+)S
  4494. 2496(3)S
  4495. 2580(*)S
  4496. (sizeof(char)462 2664 A
  4497. 3168(*))S
  4498. 3294(+)S
  4499. 3378(2)S
  4500. 3462(*)S
  4501. (sizeof(int);)504 3546 A
  4502. 1980 V
  4503. (18227)210 648 A
  4504. 2070 V
  4505. (18228)210 648 A
  4506. 1362(if)S
  4507. ((adjust(rmp,)504 1488 A
  4508. (rmp->mp_seg[D].mem_len,)966 2034 A
  4509. (new_sp))294 3042 A
  4510. 3378(!=)S
  4511. (OK))126 3504 A
  4512. 2160 V
  4513. (18229)210 648 A
  4514. (goto)168 1698 A
  4515. (doterminate;)504 1908 A
  4516. 2250 V
  4517. (18230)210 648 A
  4518. 2340 V
  4519. (18231)210 648 A
  4520. (rmp->mp_sigmask)630 1362 A
  4521. 2034(|=)S
  4522. (rmp->mp_sigact[signo].sa_mask;)1260 2160 A
  4523. 2430 V
  4524. (18232)210 648 A
  4525. 1362(if)S
  4526. ((sigflags)378 1488 A
  4527. 1908(&)S
  4528. (SA_NODEFER))462 1992 A
  4529. 2520 V
  4530. (18233)210 648 A
  4531. (sigdelset(&rmp->mp_sigmask,)1134 1698 A
  4532. (signo);)294 2874 A
  4533. 2610 V
  4534. (18234)210 648 A
  4535. (else)168 1362 A
  4536. 2700 V
  4537. (18235)210 648 A
  4538. (sigaddset(&rmp->mp_sigmask,)1134 1698 A
  4539. (signo);)294 2874 A
  4540. 2790 V
  4541. (18236)210 648 A
  4542. 2880 V
  4543. (18237)210 648 A
  4544. 1362(if)S
  4545. ((sigflags)378 1488 A
  4546. 1908(&)S
  4547. (SA_RESETHAND))546 1992 A
  4548. 2580({)S
  4549. 2970 V
  4550. (18238)210 648 A
  4551. (sigdelset(&rmp->mp_catch,)1050 1698 A
  4552. (signo);)294 2790 A
  4553. 3060 V
  4554. (18239)210 648 A
  4555. (rmp->mp_sigact[signo].sa_handler)1344 1698 A
  4556. 3084(=)S
  4557. (SIG_DFL;)336 3168 A
  4558. 3150 V
  4559. (18240)210 648 A
  4560. 1362(})S
  4561. 3240 V
  4562. (18241)210 648 A
  4563. 3330 V
  4564. (18242)210 648 A
  4565. (sys_sendsig(slot,)714 1362 A
  4566. (&sm);)210 2118 A
  4567. 3420 V
  4568. (18243)210 648 A
  4569. (sigdelset(&rmp->mp_sigpending,)1260 1362 A
  4570. (signo);)294 2664 A
  4571. 3510 V
  4572. (18244)210 648 A
  4573. 1362(/*)S
  4574. 1488(If)S
  4575. (process)294 1614 A
  4576. 1950(is)S
  4577. (hanging)294 2076 A
  4578. 2412(on)S
  4579. (PAUSE,)252 2538 A
  4580. (WAIT,)210 2832 A
  4581. (SIGSUSPEND,)462 3084 A
  4582. (tty,)168 3588 A
  4583. (pipe,)210 3798 A
  4584. (etc.,)210 4050 A
  4585. 3600 V
  4586. (18245)210 648 A
  4587. 1404(*)S
  4588. (release)294 1488 A
  4589. (it.)126 1824 A
  4590. 3690 V
  4591. (18246)210 648 A
  4592. 1404(*/)S
  4593. 3780 V
  4594. (18247)210 648 A
  4595. (unpause(slot);)588 1362 A
  4596. 3870 V
  4597. (18248)210 648 A
  4598. (return;)294 1362 A
  4599. 3960 V
  4600. (18249)210 648 A
  4601. 1110(})S
  4602. 4050 V
  4603. (18250)210 648 A
  4604. (doterminate:)504 1026 A
  4605. 4140 V
  4606. (18251)210 648 A
  4607. 1110(/*)S
  4608. (Signal)252 1236 A
  4609. (should)252 1530 A
  4610. (not)126 1824 A
  4611. 1992(or)S
  4612. (cannot)252 2118 A
  4613. 2412(be)S
  4614. (caught.)294 2538 A
  4615. (Terminate)378 2916 A
  4616. (the)126 3336 A
  4617. (process.)336 3504 A
  4618. 3882(*/)S
  4619. 4230 V
  4620. (18252)210 648 A
  4621. (rmp->mp_sigstatus)714 1110 A
  4622. 1866(=)S
  4623. ((char))252 1950 A
  4624. (signo;)252 2244 A
  4625. 4320 V
  4626. (18253)210 648 A
  4627. 1110(if)S
  4628. ((sigismember(&core_sset,)1008 1236 A
  4629. (signo)))294 2286 A
  4630. 2622({)S
  4631. 4410 V
  4632. (18254)210 648 A
  4633. 1362(/*)S
  4634. (Switch)252 1488 A
  4635. 1782(to)S
  4636. (the)126 1908 A
  4637. (user's)252 2076 A
  4638. 2370(FS)S
  4639. (environment)462 2496 A
  4640. (and)126 3000 A
  4641. (dump)168 3168 A
  4642. (core.)210 3378 A
  4643. 3630(*/)S
  4644. 4500 V
  4645. (18255)210 648 A
  4646. (tell_fs(CHDIR,)588 1362 A
  4647. (slot,)210 1992 A
  4648. (FALSE,)252 2244 A
  4649. (0);)126 2538 A
  4650. 4590 V
  4651. (18256)210 648 A
  4652. (dump_core(rmp);)630 1362 A
  4653. 4680 V
  4654. (18257)210 648 A
  4655. 1110(})S
  4656. 4770 V
  4657. (18258)210 648 A
  4658. (mm_exit(rmp,)504 1110 A
  4659. (0);)126 1656 A
  4660. 2370(/*)S
  4661. (terminate)378 2496 A
  4662. (process)294 2916 A
  4663. 3252(*/)S
  4664. 4860 V
  4665. (18259)210 648 A
  4666. 1026(})S
  4667. 5130 V
  4668. (18262)210 648 A
  4669. (/*===========================================================================*)3276 1026 A
  4670. 5220 V
  4671. (18263)210 648 A
  4672. 1068(*)S
  4673. (check_sig)378 2370 A
  4674. 4260(*)S
  4675. 5310 V
  4676. (18264)210 648 A
  4677. (*===========================================================================*/)3276 1068 A
  4678. 5400 V
  4679. (18265)210 648 A
  4680. (PUBLIC)252 1026 A
  4681. (int)126 1320 A
  4682. (check_sig(proc_id,)756 1488 A
  4683. (signo))252 2286 A
  4684. 5490 V
  4685. (18266)210 648 A
  4686. (pid_t)210 1026 A
  4687. (proc_id;)336 1278 A
  4688. 2370(/*)S
  4689. (pid)126 2496 A
  4690. 2664(of)S
  4691. (proc)168 2790 A
  4692. 3000(to)S
  4693. (sig,)168 3126 A
  4694. 3336(or)S
  4695. 3462(0)S
  4696. 3546(or)S
  4697. (-1,)126 3672 A
  4698. 3840(or)S
  4699. (-pgrp)210 3966 A
  4700. 4218(*/)S
  4701. 5580 V
  4702. (18267)210 648 A
  4703. (int)126 1026 A
  4704. (signo;)252 1194 A
  4705. 2370(/*)S
  4706. (signal)252 2496 A
  4707. 2790(to)S
  4708. (send)168 2916 A
  4709. 3126(to)S
  4710. (process)294 3252 A
  4711. 3588((0)S
  4712. 3714(to)S
  4713. (_NSIG))252 3840 A
  4714. 4134(*/)S
  4715. 5670 V
  4716. (18268)210 648 A
  4717. 1026({)S
  4718. 5760 V
  4719. (18269)210 648 A
  4720. 1026(/*)S
  4721. (Check)210 1152 A
  4722. 1404(to)S
  4723. (see)126 1530 A
  4724. 1698(if)S
  4725. 1824(it)S
  4726. 1950(is)S
  4727. (possible)336 2076 A
  4728. 2454(to)S
  4729. (send)168 2580 A
  4730. 2790(a)S
  4731. (signal.)294 2874 A
  4732. (The)126 3252 A
  4733. (signal)252 3420 A
  4734. (may)126 3714 A
  4735. (have)168 3882 A
  4736. 4092(to)S
  4737. 4218(be)S
  4738. 5850 V
  4739. (18270)210 648 A
  4740. 1068(*)S
  4741. (sent)168 1152 A
  4742. 1362(to)S
  4743. 1488(a)S
  4744. (group)210 1572 A
  4745. 1824(of)S
  4746. (processes.)420 1950 A
  4747. (This)168 2454 A
  4748. (routine)294 2664 A
  4749. 3000(is)S
  4750. (invoked)294 3126 A
  4751. 3462(by)S
  4752. (the)126 3588 A
  4753. (KILL)168 3756 A
  4754. (system)252 3966 A
  4755. 5940 V
  4756. (18271)210 648 A
  4757. 1068(*)S
  4758. (call,)210 1152 A
  4759. (and)126 1404 A
  4760. (also)168 1572 A
  4761. (when)168 1782 A
  4762. (the)126 1992 A
  4763. (kernel)252 2160 A
  4764. (catches)294 2454 A
  4765. 2790(a)S
  4766. (DEL)126 2874 A
  4767. 3042(or)S
  4768. (other)210 3168 A
  4769. (signal.)294 3420 A
  4770. 6030 V
  4771. (18272)210 648 A
  4772. 1068(*/)S
  4773. 6120 V
  4774. (18273)210 648 A
  4775. 6210 V
  4776. (18274)210 648 A
  4777. (register)336 1110 A
  4778. (struct)252 1488 A
  4779. (mproc)210 1782 A
  4780. (*rmp;)210 2034 A
  4781. 8418 V
  4782. EP
  4783. %%Page: 255 255
  4784. BP
  4785. /slant 0 def
  4786. /height 0 def
  4787. 630 V
  4788. 10 R
  4789. 648(MINIX)S
  4790. 976(SOURCE)S
  4791. 1399(CODE)S
  4792. 11 R
  4793. 2068(File:)S
  4794. 2301(src/mm/signal.c)S
  4795. 12 B
  4796. (255)180 4248 A
  4797. 900 V
  4798. 7 LST
  4799. (18275)210 648 A
  4800. (int)126 1110 A
  4801. (count;)252 1278 A
  4802. 2370(/*)S
  4803. (count)210 2496 A
  4804. 2748(#)S
  4805. 2832(of)S
  4806. (signals)294 2958 A
  4807. (sent)168 3294 A
  4808. 3504(*/)S
  4809. 990 V
  4810. (18276)210 648 A
  4811. (int)126 1110 A
  4812. (error_code;)462 1278 A
  4813. 1080 V
  4814. (18277)210 648 A
  4815. 1170 V
  4816. (18278)210 648 A
  4817. 1110(if)S
  4818. ((signo)252 1236 A
  4819. 1530(<)S
  4820. 1614(0)S
  4821. 1698(||)S
  4822. (signo)210 1824 A
  4823. 2076(>)S
  4824. (_NSIG))252 2160 A
  4825. (return(EINVAL);)630 2454 A
  4826. 1260 V
  4827. (18279)210 648 A
  4828. 1350 V
  4829. (18280)210 648 A
  4830. 1110(/*)S
  4831. (Return)252 1236 A
  4832. (EINVAL)252 1530 A
  4833. (for)126 1824 A
  4834. (attempts)336 1992 A
  4835. 2370(to)S
  4836. (send)168 2496 A
  4837. (SIGKILL)294 2706 A
  4838. 3042(to)S
  4839. (INIT)168 3168 A
  4840. (alone.)252 3378 A
  4841. 3672(*/)S
  4842. 1440 V
  4843. (18281)210 648 A
  4844. 1110(if)S
  4845. ((proc_id)336 1236 A
  4846. 1614(==)S
  4847. (INIT_PID)336 1740 A
  4848. 2118(&&)S
  4849. (signo)210 2244 A
  4850. 2496(==)S
  4851. (SIGKILL))336 2622 A
  4852. (return(EINVAL);)630 3000 A
  4853. 1530 V
  4854. (18282)210 648 A
  4855. 1620 V
  4856. (18283)210 648 A
  4857. 1110(/*)S
  4858. (Search)252 1236 A
  4859. (the)126 1530 A
  4860. (proc)168 1698 A
  4861. (table)210 1908 A
  4862. (for)126 2160 A
  4863. (processes)378 2328 A
  4864. 2748(to)S
  4865. (signal.)294 2874 A
  4866. ((See)168 3252 A
  4867. (forkexit.c)420 3462 A
  4868. (about)210 3924 A
  4869. 1710 V
  4870. (18284)210 648 A
  4871. 1152(*)S
  4872. (pid)126 1236 A
  4873. (magic.))294 1404 A
  4874. 1800 V
  4875. (18285)210 648 A
  4876. 1152(*/)S
  4877. 1890 V
  4878. (18286)210 648 A
  4879. (count)210 1110 A
  4880. 1362(=)S
  4881. 1446(0;)S
  4882. 1980 V
  4883. (18287)210 648 A
  4884. (error_code)420 1110 A
  4885. 1572(=)S
  4886. (ESRCH;)252 1656 A
  4887. 2070 V
  4888. (18288)210 648 A
  4889. (for)126 1110 A
  4890. ((rmp)168 1278 A
  4891. 1488(=)S
  4892. (&mproc[INIT_PROC_NR];)882 1572 A
  4893. (rmp)126 2496 A
  4894. 2664(<)S
  4895. (&mproc[NR_PROCS];)714 2748 A
  4896. (rmp++))252 3504 A
  4897. 3798({)S
  4898. 2160 V
  4899. (18289)210 648 A
  4900. 1362(if)S
  4901. 1488(()S
  4902. ((rmp->mp_flags)588 1572 A
  4903. 2202(&)S
  4904. (IN_USE))294 2286 A
  4905. 2622(==)S
  4906. 2748(0))S
  4907. (continue;)378 2874 A
  4908. 2250 V
  4909. (18290)210 648 A
  4910. 1362(if)S
  4911. ((rmp->mp_flags)588 1488 A
  4912. 2118(&)S
  4913. (HANGING)294 2202 A
  4914. 2538(&&)S
  4915. (signo)210 2664 A
  4916. 2916(!=)S
  4917. 3042(0))S
  4918. (continue;)378 3168 A
  4919. 2340 V
  4920. (18291)210 648 A
  4921. 2430 V
  4922. (18292)210 648 A
  4923. 1362(/*)S
  4924. (Check)210 1488 A
  4925. (for)126 1740 A
  4926. (selection.)420 1908 A
  4927. 2370(*/)S
  4928. 2520 V
  4929. (18293)210 648 A
  4930. 1362(if)S
  4931. ((proc_id)336 1488 A
  4932. 1866(>)S
  4933. 1950(0)S
  4934. 2034(&&)S
  4935. (proc_id)294 2160 A
  4936. 2496(!=)S
  4937. (rmp->mp_pid))504 2622 A
  4938. (continue;)378 3168 A
  4939. 2610 V
  4940. (18294)210 648 A
  4941. 1362(if)S
  4942. ((proc_id)336 1488 A
  4943. 1866(==)S
  4944. 1992(0)S
  4945. 2076(&&)S
  4946. (mp->mp_procgrp)588 2202 A
  4947. 2832(!=)S
  4948. (rmp->mp_procgrp))672 2958 A
  4949. (continue;)378 3672 A
  4950. 2700 V
  4951. (18295)210 648 A
  4952. 1362(if)S
  4953. ((proc_id)336 1488 A
  4954. 1866(==)S
  4955. 1992(-1)S
  4956. 2118(&&)S
  4957. (rmp->mp_pid)462 2244 A
  4958. 2748(==)S
  4959. (INIT_PID))378 2874 A
  4960. (continue;)378 3294 A
  4961. 2790 V
  4962. (18296)210 648 A
  4963. 1362(if)S
  4964. ((proc_id)336 1488 A
  4965. 1866(<)S
  4966. 1950(-1)S
  4967. 2076(&&)S
  4968. (rmp->mp_procgrp)630 2202 A
  4969. 2874(!=)S
  4970. (-proc_id))378 3000 A
  4971. (continue;)378 3420 A
  4972. 2880 V
  4973. (18297)210 648 A
  4974. 2970 V
  4975. (18298)210 648 A
  4976. 1362(/*)S
  4977. (Check)210 1488 A
  4978. (for)126 1740 A
  4979. (permission.)462 1908 A
  4980. 2412(*/)S
  4981. 3060 V
  4982. (18299)210 648 A
  4983. 1362(if)S
  4984. ((mp->mp_effuid)588 1488 A
  4985. 2118(!=)S
  4986. (SUPER_USER)420 2244 A
  4987. 3150 V
  4988. (18300)210 648 A
  4989. 1530(&&)S
  4990. (mp->mp_realuid)588 1656 A
  4991. 2286(!=)S
  4992. (rmp->mp_realuid)630 2412 A
  4993. 3240 V
  4994. (18301)210 648 A
  4995. 1530(&&)S
  4996. (mp->mp_effuid)546 1656 A
  4997. 2244(!=)S
  4998. (rmp->mp_realuid)630 2370 A
  4999. 3330 V
  5000. (18302)210 648 A
  5001. 1530(&&)S
  5002. (mp->mp_realuid)588 1656 A
  5003. 2286(!=)S
  5004. (rmp->mp_effuid)588 2412 A
  5005. 3420 V
  5006. (18303)210 648 A
  5007. 1530(&&)S
  5008. (mp->mp_effuid)546 1656 A
  5009. 2244(!=)S
  5010. (rmp->mp_effuid))630 2370 A
  5011. 3042({)S
  5012. 3510 V
  5013. (18304)210 648 A
  5014. (error_code)420 1698 A
  5015. 2160(=)S
  5016. (EPERM;)252 2244 A
  5017. 3600 V
  5018. (18305)210 648 A
  5019. (continue;)378 1698 A
  5020. 3690 V
  5021. (18306)210 648 A
  5022. 1362(})S
  5023. 3780 V
  5024. (18307)210 648 A
  5025. 3870 V
  5026. (18308)210 648 A
  5027. (count++;)336 1362 A
  5028. 3960 V
  5029. (18309)210 648 A
  5030. 1362(if)S
  5031. ((signo)252 1488 A
  5032. 1782(==)S
  5033. 1908(0))S
  5034. (continue;)378 2034 A
  5035. 4050 V
  5036. (18310)210 648 A
  5037. 4140 V
  5038. (18311)210 648 A
  5039. 1362(/*)S
  5040. ('sig_proc')420 1488 A
  5041. (will)168 1950 A
  5042. (handle)252 2160 A
  5043. (the)126 2454 A
  5044. (disposition)462 2622 A
  5045. 3126(of)S
  5046. (the)126 3252 A
  5047. (signal.)294 3420 A
  5048. (The)126 3798 A
  5049. 4230 V
  5050. (18312)210 648 A
  5051. 1404(*)S
  5052. (signal)252 1488 A
  5053. (may)126 1782 A
  5054. 1950(be)S
  5055. (caught,)294 2076 A
  5056. (blocked,)336 2412 A
  5057. (ignored,)336 2790 A
  5058. 3168(or)S
  5059. (cause)210 3294 A
  5060. (process)294 3546 A
  5061. 4320 V
  5062. (18313)210 648 A
  5063. 1404(*)S
  5064. (termination,)504 1488 A
  5065. (possibly)336 2034 A
  5066. (with)168 2412 A
  5067. (core)168 2622 A
  5068. (dump.)210 2832 A
  5069. 4410 V
  5070. (18314)210 648 A
  5071. 1404(*/)S
  5072. 4500 V
  5073. (18315)210 648 A
  5074. (sig_proc(rmp,)546 1362 A
  5075. (signo);)294 1950 A
  5076. 4590 V
  5077. (18316)210 648 A
  5078. 4680 V
  5079. (18317)210 648 A
  5080. 1362(if)S
  5081. ((proc_id)336 1488 A
  5082. 1866(>)S
  5083. 1950(0))S
  5084. (break;)252 2076 A
  5085. 2370(/*)S
  5086. (only)168 2496 A
  5087. (one)126 2706 A
  5088. (process)294 2874 A
  5089. (being)210 3210 A
  5090. (signaled)336 3462 A
  5091. 3840(*/)S
  5092. 4770 V
  5093. (18318)210 648 A
  5094. 1110(})S
  5095. 4860 V
  5096. (18319)210 648 A
  5097. 4950 V
  5098. (18320)210 648 A
  5099. 1110(/*)S
  5100. 1236(If)S
  5101. (the)126 1362 A
  5102. (calling)294 1530 A
  5103. (process)294 1866 A
  5104. (has)126 2202 A
  5105. (killed)252 2370 A
  5106. (itself,)294 2664 A
  5107. (don't)210 3000 A
  5108. (reply.)252 3252 A
  5109. 3546(*/)S
  5110. 5040 V
  5111. (18321)210 648 A
  5112. 1110(if)S
  5113. (((mp->mp_flags)588 1236 A
  5114. 1866(&)S
  5115. (IN_USE))294 1950 A
  5116. 2286(==)S
  5117. 2412(0)S
  5118. 2496(||)S
  5119. ((mp->mp_flags)546 2622 A
  5120. 3210(&)S
  5121. (HANGING)))378 3294 A
  5122. 5130 V
  5123. (18322)210 648 A
  5124. (dont_reply)420 1362 A
  5125. 1824(=)S
  5126. (TRUE;)210 1908 A
  5127. 5220 V
  5128. (18323)210 648 A
  5129. (return(count)504 1110 A
  5130. 1656(>)S
  5131. 1740(0)S
  5132. 1824(?)S
  5133. 1908(OK)S
  5134. 2034(:)S
  5135. (error_code);)504 2118 A
  5136. 5310 V
  5137. (18324)210 648 A
  5138. 1026(})S
  5139. 5580 V
  5140. (18327)210 648 A
  5141. (/*===========================================================================*)3276 1026 A
  5142. 5670 V
  5143. (18328)210 648 A
  5144. 1068(*)S
  5145. (check_pending)546 2412 A
  5146. 4260(*)S
  5147. 5760 V
  5148. (18329)210 648 A
  5149. (*===========================================================================*/)3276 1068 A
  5150. 5850 V
  5151. (18330)210 648 A
  5152. (PRIVATE)294 1026 A
  5153. (void)168 1362 A
  5154. (check_pending())630 1572 A
  5155. 5940 V
  5156. (18331)210 648 A
  5157. 1026({)S
  5158. 6030 V
  5159. (18332)210 648 A
  5160. 1110(/*)S
  5161. (Check)210 1236 A
  5162. 1488(to)S
  5163. (see)126 1614 A
  5164. 1782(if)S
  5165. (any)126 1908 A
  5166. (pending)294 2076 A
  5167. (signals)294 2412 A
  5168. (have)168 2748 A
  5169. (been)168 2958 A
  5170. (unblocked.)420 3168 A
  5171. (The)126 3672 A
  5172. 6120 V
  5173. (18333)210 648 A
  5174. 1152(*)S
  5175. (first)210 1236 A
  5176. (such)168 1488 A
  5177. (signal)252 1698 A
  5178. (found)210 1992 A
  5179. 2244(is)S
  5180. (delivered.)420 2370 A
  5181. 6210 V
  5182. (18334)210 648 A
  5183. 1152(*)S
  5184. 8418 V
  5185. EP
  5186. %%Page: 256 256
  5187. BP
  5188. /slant 0 def
  5189. /height 0 def
  5190. 630 V
  5191. 12 B
  5192. (256)180 648 A
  5193. 11 R
  5194. 2068(File:)S
  5195. 2301(src/mm/signal.c)S
  5196. 10 R
  5197. 3402(MINIX)S
  5198. 3730(SOURCE)S
  5199. 4153(CODE)S
  5200. 900 V
  5201. 7 LST
  5202. (18335)210 648 A
  5203. 1152(*)S
  5204. 1236(If)S
  5205. (multiple)336 1362 A
  5206. (pending)294 1740 A
  5207. (unmasked)336 2076 A
  5208. (signals)294 2454 A
  5209. (are)126 2790 A
  5210. (found,)252 2958 A
  5211. (they)168 3252 A
  5212. (will)168 3462 A
  5213. 3672(be)S
  5214. 990 V
  5215. (18336)210 648 A
  5216. 1152(*)S
  5217. (delivered)378 1236 A
  5218. (sequentially.)546 1656 A
  5219. 1080 V
  5220. (18337)210 648 A
  5221. 1152(*)S
  5222. 1170 V
  5223. (18338)210 648 A
  5224. 1152(*)S
  5225. (There)210 1236 A
  5226. (are)126 1488 A
  5227. (several)294 1656 A
  5228. (places)252 1992 A
  5229. 2286(in)S
  5230. (this)168 2412 A
  5231. (file)168 2622 A
  5232. (where)210 2832 A
  5233. (the)126 3084 A
  5234. (signal)252 3252 A
  5235. (mask)168 3546 A
  5236. 3756(is)S
  5237. 1260 V
  5238. (18339)210 648 A
  5239. 1152(*)S
  5240. (changed.)336 1236 A
  5241. 1656(At)S
  5242. (each)168 1782 A
  5243. (such)168 1992 A
  5244. (place,)252 2202 A
  5245. (check_pending())630 2496 A
  5246. (should)252 3168 A
  5247. 3462(be)S
  5248. (called)252 3588 A
  5249. 3882(to)S
  5250. 1350 V
  5251. (18340)210 648 A
  5252. 1152(*)S
  5253. (check)210 1236 A
  5254. (for)126 1488 A
  5255. (newly)210 1656 A
  5256. (unblocked)378 1908 A
  5257. (signals.)336 2328 A
  5258. 1440 V
  5259. (18341)210 648 A
  5260. 1152(*/)S
  5261. 1530 V
  5262. (18342)210 648 A
  5263. 1620 V
  5264. (18343)210 648 A
  5265. (int)126 1110 A
  5266. 1278(i;)S
  5267. 1710 V
  5268. (18344)210 648 A
  5269. 1800 V
  5270. (18345)210 648 A
  5271. (for)126 1110 A
  5272. 1278((i)S
  5273. 1404(=)S
  5274. 1488(1;)S
  5275. 1614(i)S
  5276. 1698(<)S
  5277. (_NSIG;)252 1782 A
  5278. (i++))168 2076 A
  5279. 2286({)S
  5280. 1890 V
  5281. (18346)210 648 A
  5282. 1362(if)S
  5283. ((sigismember(&mp->mp_sigpending,)1344 1488 A
  5284. 2874(i))S
  5285. 3000(&&)S
  5286. 1980 V
  5287. (18347)210 648 A
  5288. (!sigismember(&mp->mp_sigmask,)1218 1698 A
  5289. (i)))126 2958 A
  5290. 3126({)S
  5291. 2070 V
  5292. (18348)210 648 A
  5293. (sigdelset(&mp->mp_sigpending,)1218 1698 A
  5294. (i);)126 2958 A
  5295. 2160 V
  5296. (18349)210 648 A
  5297. (sig_proc(mp,)504 1698 A
  5298. (i);)126 2244 A
  5299. 2250 V
  5300. (18350)210 648 A
  5301. (break;)252 1698 A
  5302. 2340 V
  5303. (18351)210 648 A
  5304. 1362(})S
  5305. 2430 V
  5306. (18352)210 648 A
  5307. 1110(})S
  5308. 2520 V
  5309. (18353)210 648 A
  5310. 1026(})S
  5311. 2790 V
  5312. (18356)210 648 A
  5313. (/*===========================================================================*)3276 1026 A
  5314. 2880 V
  5315. (18357)210 648 A
  5316. 1068(*)S
  5317. (unpause)294 2370 A
  5318. 4260(*)S
  5319. 2970 V
  5320. (18358)210 648 A
  5321. (*===========================================================================*/)3276 1068 A
  5322. 3060 V
  5323. (18359)210 648 A
  5324. (PRIVATE)294 1026 A
  5325. (void)168 1362 A
  5326. (unpause(pro))504 1572 A
  5327. 3150 V
  5328. (18360)210 648 A
  5329. (int)126 1026 A
  5330. (pro;)168 1194 A
  5331. 2370(/*)S
  5332. (which)210 2496 A
  5333. (process)294 2748 A
  5334. (number)252 3084 A
  5335. 3378(*/)S
  5336. 3240 V
  5337. (18361)210 648 A
  5338. 1026({)S
  5339. 3330 V
  5340. (18362)210 648 A
  5341. 1026(/*)S
  5342. 1152(A)S
  5343. (signal)252 1236 A
  5344. 1530(is)S
  5345. 1656(to)S
  5346. 1782(be)S
  5347. (sent)168 1908 A
  5348. 2118(to)S
  5349. 2244(a)S
  5350. (process.)336 2328 A
  5351. 2748(If)S
  5352. (that)168 2874 A
  5353. (process)294 3084 A
  5354. 3420(is)S
  5355. (hanging)294 3546 A
  5356. 3882(on)S
  5357. 4008(a)S
  5358. 3420 V
  5359. (18363)210 648 A
  5360. 1068(*)S
  5361. (system)252 1152 A
  5362. (call,)210 1446 A
  5363. (the)126 1698 A
  5364. (system)252 1866 A
  5365. (call)168 2160 A
  5366. (must)168 2370 A
  5367. 2580(be)S
  5368. (terminated)420 2706 A
  5369. (with)168 3168 A
  5370. (EINTR.)252 3378 A
  5371. (Possible)336 3714 A
  5372. 3510 V
  5373. (18364)210 648 A
  5374. 1068(*)S
  5375. (calls)210 1152 A
  5376. (are)126 1404 A
  5377. (PAUSE,)252 1572 A
  5378. (WAIT,)210 1866 A
  5379. (READ)168 2118 A
  5380. (and)126 2328 A
  5381. (WRITE,)252 2496 A
  5382. (the)126 2790 A
  5383. (latter)252 2958 A
  5384. (two)126 3252 A
  5385. (for)126 3420 A
  5386. (pipes)210 3588 A
  5387. (and)126 3840 A
  5388. (ttys.)210 4008 A
  5389. 3600 V
  5390. (18365)210 648 A
  5391. 1068(*)S
  5392. (First)210 1152 A
  5393. (check)210 1404 A
  5394. 1656(if)S
  5395. (the)126 1782 A
  5396. (process)294 1950 A
  5397. 2286(is)S
  5398. (hanging)294 2412 A
  5399. 2748(on)S
  5400. 2874(an)S
  5401. 3000(MM)S
  5402. (call.)210 3126 A
  5403. 3420(If)S
  5404. (not,)168 3546 A
  5405. (tell)168 3756 A
  5406. (FS,)126 3966 A
  5407. 3690 V
  5408. (18366)210 648 A
  5409. 1068(*)S
  5410. 1152(so)S
  5411. 1278(it)S
  5412. (can)126 1404 A
  5413. (check)210 1572 A
  5414. (for)126 1824 A
  5415. (READs)210 1992 A
  5416. (and)126 2244 A
  5417. (WRITEs)252 2412 A
  5418. (from)168 2706 A
  5419. (pipes,)252 2916 A
  5420. (ttys)168 3210 A
  5421. (and)126 3420 A
  5422. (the)126 3588 A
  5423. (like.)210 3756 A
  5424. 3780 V
  5425. (18367)210 648 A
  5426. 1068(*/)S
  5427. 3870 V
  5428. (18368)210 648 A
  5429. 3960 V
  5430. (18369)210 648 A
  5431. (register)336 1110 A
  5432. (struct)252 1488 A
  5433. (mproc)210 1782 A
  5434. (*rmp;)210 2034 A
  5435. 4050 V
  5436. (18370)210 648 A
  5437. 4140 V
  5438. (18371)210 648 A
  5439. (rmp)126 1110 A
  5440. 1278(=)S
  5441. (&mproc[pro];)504 1362 A
  5442. 4230 V
  5443. (18372)210 648 A
  5444. 4320 V
  5445. (18373)210 648 A
  5446. 1110(/*)S
  5447. (Check)210 1236 A
  5448. 1488(to)S
  5449. (see)126 1614 A
  5450. 1782(if)S
  5451. (process)294 1908 A
  5452. 2244(is)S
  5453. (hanging)294 2370 A
  5454. 2706(on)S
  5455. 2832(a)S
  5456. (PAUSE)210 2916 A
  5457. (call.)210 3168 A
  5458. 3420(*/)S
  5459. 4410 V
  5460. (18374)210 648 A
  5461. 1110(if)S
  5462. 1236(()S
  5463. ((rmp->mp_flags)588 1320 A
  5464. 1950(&)S
  5465. (PAUSED))294 2034 A
  5466. 2370(&&)S
  5467. ((rmp->mp_flags)588 2496 A
  5468. 3126(&)S
  5469. (HANGING))336 3210 A
  5470. 3588(==)S
  5471. 3714(0))S
  5472. 3840({)S
  5473. 4500 V
  5474. (18375)210 648 A
  5475. (rmp->mp_flags)546 1362 A
  5476. 1950(&=)S
  5477. (304PAUSED;)336 2076 A
  5478. 4590 V
  5479. (18376)210 648 A
  5480. (reply(pro,)420 1362 A
  5481. (EINTR,)252 1824 A
  5482. 2118(0,)S
  5483. (NIL_PTR);)378 2244 A
  5484. 4680 V
  5485. (18377)210 648 A
  5486. (return;)294 1362 A
  5487. 4770 V
  5488. (18378)210 648 A
  5489. 1110(})S
  5490. 4860 V
  5491. (18379)210 648 A
  5492. 4950 V
  5493. (18380)210 648 A
  5494. 1110(/*)S
  5495. (Check)210 1236 A
  5496. 1488(to)S
  5497. (see)126 1614 A
  5498. 1782(if)S
  5499. (process)294 1908 A
  5500. 2244(is)S
  5501. (hanging)294 2370 A
  5502. 2706(on)S
  5503. 2832(a)S
  5504. (WAIT)168 2916 A
  5505. (call.)210 3126 A
  5506. 3378(*/)S
  5507. 5040 V
  5508. (18381)210 648 A
  5509. 1110(if)S
  5510. 1236(()S
  5511. ((rmp->mp_flags)588 1320 A
  5512. 1950(&)S
  5513. (WAITING))336 2034 A
  5514. 2412(&&)S
  5515. ((rmp->mp_flags)588 2538 A
  5516. 3168(&)S
  5517. (HANGING))336 3252 A
  5518. 3630(==)S
  5519. 3756(0))S
  5520. 3882({)S
  5521. 5130 V
  5522. (18382)210 648 A
  5523. (rmp->mp_flags)546 1362 A
  5524. 1950(&=)S
  5525. (304WAITING;)378 2076 A
  5526. 5220 V
  5527. (18383)210 648 A
  5528. (reply(pro,)420 1362 A
  5529. (EINTR,)252 1824 A
  5530. 2118(0,)S
  5531. (NIL_PTR);)378 2244 A
  5532. 5310 V
  5533. (18384)210 648 A
  5534. (return;)294 1362 A
  5535. 5400 V
  5536. (18385)210 648 A
  5537. 1110(})S
  5538. 5490 V
  5539. (18386)210 648 A
  5540. 5580 V
  5541. (18387)210 648 A
  5542. 1110(/*)S
  5543. (Check)210 1236 A
  5544. 1488(to)S
  5545. (see)126 1614 A
  5546. 1782(if)S
  5547. (process)294 1908 A
  5548. 2244(is)S
  5549. (hanging)294 2370 A
  5550. 2706(on)S
  5551. 2832(a)S
  5552. (SIGSUSPEND)420 2916 A
  5553. (call.)210 3378 A
  5554. 3630(*/)S
  5555. 5670 V
  5556. (18388)210 648 A
  5557. 1110(if)S
  5558. (((rmp->mp_flags)630 1236 A
  5559. 1908(&)S
  5560. (SIGSUSPENDED))546 1992 A
  5561. 2580(&&)S
  5562. ((rmp->mp_flags)588 2706 A
  5563. 3336(&)S
  5564. (HANGING))336 3420 A
  5565. 3798(==)S
  5566. 3924(0))S
  5567. 4050({)S
  5568. 5760 V
  5569. (18389)210 648 A
  5570. (rmp->mp_flags)546 1362 A
  5571. 1950(&=)S
  5572. (304SIGSUSPENDED;)588 2076 A
  5573. 5850 V
  5574. (18390)210 648 A
  5575. (reply(pro,)420 1362 A
  5576. (EINTR,)252 1824 A
  5577. 2118(0,)S
  5578. (NIL_PTR);)378 2244 A
  5579. 5940 V
  5580. (18391)210 648 A
  5581. (return;)294 1362 A
  5582. 6030 V
  5583. (18392)210 648 A
  5584. 1110(})S
  5585. 6120 V
  5586. (18393)210 648 A
  5587. 6210 V
  5588. (18394)210 648 A
  5589. 1110(/*)S
  5590. (Process)294 1236 A
  5591. 1572(is)S
  5592. (not)126 1698 A
  5593. (hanging)294 1866 A
  5594. 2202(on)S
  5595. 2328(an)S
  5596. 2454(MM)S
  5597. (call.)210 2580 A
  5598. (Ask)126 2874 A
  5599. 3042(FS)S
  5600. 3168(to)S
  5601. (take)168 3294 A
  5602. 3504(a)S
  5603. (look.)210 3588 A
  5604. 3840(*/)S
  5605. 8418 V
  5606. EP
  5607. %%Page: 257 257
  5608. BP
  5609. /slant 0 def
  5610. /height 0 def
  5611. 630 V
  5612. 10 R
  5613. 648(MINIX)S
  5614. 976(SOURCE)S
  5615. 1399(CODE)S
  5616. 11 R
  5617. 2068(File:)S
  5618. 2301(src/mm/signal.c)S
  5619. 12 B
  5620. (257)180 4248 A
  5621. 900 V
  5622. 7 LST
  5623. (18395)210 648 A
  5624. (tell_fs(UNPAUSE,)672 1362 A
  5625. (pro,)168 2076 A
  5626. 2286(0,)S
  5627. (0);)126 2412 A
  5628. 990 V
  5629. (18396)210 648 A
  5630. 1026(})S
  5631. 1260 V
  5632. (18399)210 648 A
  5633. (/*===========================================================================*)3276 1026 A
  5634. 1350 V
  5635. (18400)210 648 A
  5636. 1068(*)S
  5637. (dump_core)378 2370 A
  5638. 4260(*)S
  5639. 1440 V
  5640. (18401)210 648 A
  5641. (*===========================================================================*/)3276 1068 A
  5642. 1530 V
  5643. (18402)210 648 A
  5644. (PRIVATE)294 1026 A
  5645. (void)168 1362 A
  5646. (dump_core(rmp))588 1572 A
  5647. 1620 V
  5648. (18403)210 648 A
  5649. (register)336 1026 A
  5650. (struct)252 1404 A
  5651. (mproc)210 1698 A
  5652. (*rmp;)210 1950 A
  5653. 2370(/*)S
  5654. (whose)210 2496 A
  5655. (core)168 2748 A
  5656. 2958(is)S
  5657. 3084(to)S
  5658. 3210(be)S
  5659. (dumped)252 3336 A
  5660. 3630(*/)S
  5661. 1710 V
  5662. (18404)210 648 A
  5663. 1026({)S
  5664. 1800 V
  5665. (18405)210 648 A
  5666. 1026(/*)S
  5667. (Make)168 1152 A
  5668. 1362(a)S
  5669. (core)168 1446 A
  5670. (dump)168 1656 A
  5671. 1866(on)S
  5672. (the)126 1992 A
  5673. (file)168 2160 A
  5674. ("core",)294 2370 A
  5675. 2706(if)S
  5676. (possible.)378 2832 A
  5677. 3252(*/)S
  5678. 1890 V
  5679. (18406)210 648 A
  5680. 1980 V
  5681. (18407)210 648 A
  5682. (int)126 1110 A
  5683. (fd,)126 1278 A
  5684. (fake_fd,)336 1446 A
  5685. (nr_written,)462 1824 A
  5686. (seg,)168 2328 A
  5687. (slot;)210 2538 A
  5688. 2070 V
  5689. (18408)210 648 A
  5690. (char)168 1110 A
  5691. (*buf;)210 1320 A
  5692. 2160 V
  5693. (18409)210 648 A
  5694. (vir_bytes)378 1110 A
  5695. (current_sp;)462 1530 A
  5696. 2250 V
  5697. (18410)210 648 A
  5698. (phys_bytes)420 1110 A
  5699. (left;)210 1572 A
  5700. 2370(/*)S
  5701. (careful;)336 2496 A
  5702. (64K)126 2874 A
  5703. (might)210 3042 A
  5704. (overflow)336 3294 A
  5705. (vir_bytes)378 3672 A
  5706. 4092(*/)S
  5707. 2340 V
  5708. (18411)210 648 A
  5709. (unsigned)336 1110 A
  5710. (nr_to_write;)504 1488 A
  5711. 2370(/*)S
  5712. (unsigned)336 2496 A
  5713. (for)126 2874 A
  5714. (arg)126 3042 A
  5715. 3210(to)S
  5716. (write())294 3336 A
  5717. (but)126 3672 A
  5718. 3840(<)S
  5719. (INT_MAX)294 3924 A
  5720. 4260(*/)S
  5721. 2430 V
  5722. (18412)210 648 A
  5723. (long)168 1110 A
  5724. (trace_data,)462 1320 A
  5725. (trace_off;)420 1824 A
  5726. 2520 V
  5727. (18413)210 648 A
  5728. 2610 V
  5729. (18414)210 648 A
  5730. (slot)168 1110 A
  5731. 1320(=)S
  5732. ((int))210 1404 A
  5733. ((rmp)168 1656 A
  5734. 1866(-)S
  5735. (mproc);)294 1950 A
  5736. 2700 V
  5737. (18415)210 648 A
  5738. 2790 V
  5739. (18416)210 648 A
  5740. 1110(/*)S
  5741. (Can)126 1236 A
  5742. (core)168 1404 A
  5743. (file)168 1614 A
  5744. 1824(be)S
  5745. (written?)336 1950 A
  5746. 2370(We)S
  5747. (are)126 2496 A
  5748. (operating)378 2664 A
  5749. 3084(in)S
  5750. (the)126 3210 A
  5751. (user's)252 3378 A
  5752. 3672(FS)S
  5753. (environment,)504 3798 A
  5754. 2880 V
  5755. (18417)210 648 A
  5756. 1152(*)S
  5757. 1236(so)S
  5758. 1362(no)S
  5759. (special)294 1488 A
  5760. (permission)420 1824 A
  5761. (checks)252 2286 A
  5762. (are)126 2580 A
  5763. (needed.)294 2748 A
  5764. 2970 V
  5765. (18418)210 648 A
  5766. 1152(*/)S
  5767. 3060 V
  5768. (18419)210 648 A
  5769. 1110(if)S
  5770. ((rmp->mp_realuid)672 1236 A
  5771. 1950(!=)S
  5772. (rmp->mp_effuid))630 2076 A
  5773. (return;)294 2748 A
  5774. 3150 V
  5775. (18420)210 648 A
  5776. 1110(if)S
  5777. 1236(()S
  5778. ((fd)126 1320 A
  5779. 1488(=)S
  5780. (creat(core_name,)672 1572 A
  5781. (CORE_MODE)))462 2286 A
  5782. 2790(<)S
  5783. 2874(0))S
  5784. (return;)294 3000 A
  5785. 3240 V
  5786. (18421)210 648 A
  5787. (rmp->mp_sigstatus)714 1110 A
  5788. 1866(|=)S
  5789. (DUMPED;)294 1992 A
  5790. 3330 V
  5791. (18422)210 648 A
  5792. 3420 V
  5793. (18423)210 648 A
  5794. 1110(/*)S
  5795. (Make)168 1236 A
  5796. (sure)168 1446 A
  5797. (the)126 1656 A
  5798. (stack)210 1824 A
  5799. (segment)294 2076 A
  5800. 2412(is)S
  5801. 2538(up)S
  5802. 2664(to)S
  5803. (date.)210 2790 A
  5804. 3510 V
  5805. (18424)210 648 A
  5806. 1152(*)S
  5807. 1236(We)S
  5808. (don't)210 1362 A
  5809. (want)168 1614 A
  5810. (adjust())336 1824 A
  5811. 2202(to)S
  5812. (fail)168 2328 A
  5813. (unless)252 2538 A
  5814. (current_sp)420 2832 A
  5815. 3294(is)S
  5816. (preposterous,)546 3420 A
  5817. 3600 V
  5818. (18425)210 648 A
  5819. 1152(*)S
  5820. (but)126 1236 A
  5821. 1404(it)S
  5822. (might)210 1530 A
  5823. (fail)168 1782 A
  5824. (due)126 1992 A
  5825. 2160(to)S
  5826. (safety)252 2286 A
  5827. (checking.)378 2580 A
  5828. (Also,)210 3042 A
  5829. 3294(we)S
  5830. (don't)210 3420 A
  5831. (really)252 3672 A
  5832. (want)168 3966 A
  5833. 3690 V
  5834. (18426)210 648 A
  5835. 1152(*)S
  5836. (the)126 1236 A
  5837. (adjust())336 1404 A
  5838. (for)126 1782 A
  5839. (sending)294 1950 A
  5840. 2286(a)S
  5841. (signal)252 2370 A
  5842. 2664(to)S
  5843. (fail)168 2790 A
  5844. (due)126 3000 A
  5845. 3168(to)S
  5846. (safety)252 3294 A
  5847. (checking.)378 3588 A
  5848. 3780 V
  5849. (18427)210 648 A
  5850. 1152(*)S
  5851. (Maybe)210 1236 A
  5852. (make)168 1488 A
  5853. (SAFETY_BYTES)504 1698 A
  5854. 2244(a)S
  5855. (parameter.)420 2328 A
  5856. 3870 V
  5857. (18428)210 648 A
  5858. 1152(*/)S
  5859. 3960 V
  5860. (18429)210 648 A
  5861. (sys_getsp(slot,)630 1110 A
  5862. (&current_sp);)546 1782 A
  5863. 4050 V
  5864. (18430)210 648 A
  5865. (adjust(rmp,)462 1110 A
  5866. (rmp->mp_seg[D].mem_len,)966 1614 A
  5867. (current_sp);)504 2622 A
  5868. 4140 V
  5869. (18431)210 648 A
  5870. 4230 V
  5871. (18432)210 648 A
  5872. 1110(/*)S
  5873. (Write)210 1236 A
  5874. (the)126 1488 A
  5875. (memory)252 1656 A
  5876. (map)126 1950 A
  5877. 2118(of)S
  5878. (all)126 2244 A
  5879. (segments)336 2412 A
  5880. 2790(to)S
  5881. (begin)210 2916 A
  5882. (the)126 3168 A
  5883. (core)168 3336 A
  5884. (file.)210 3546 A
  5885. 3798(*/)S
  5886. 4320 V
  5887. (18433)210 648 A
  5888. 1110(if)S
  5889. ((write(fd,)420 1236 A
  5890. ((char)210 1698 A
  5891. 1950(*))S
  5892. (rmp->mp_seg,)504 2076 A
  5893. ((unsigned))420 2622 A
  5894. (sizeof)252 3084 A
  5895. (rmp->mp_seg))504 3378 A
  5896. 4410 V
  5897. (18434)210 648 A
  5898. 1278(!=)S
  5899. ((unsigned))420 1404 A
  5900. (sizeof)252 1866 A
  5901. (rmp->mp_seg))504 2160 A
  5902. 2706({)S
  5903. 4500 V
  5904. (18435)210 648 A
  5905. (close(fd);)420 1362 A
  5906. 4590 V
  5907. (18436)210 648 A
  5908. (return;)294 1362 A
  5909. 4680 V
  5910. (18437)210 648 A
  5911. 1110(})S
  5912. 4770 V
  5913. (18438)210 648 A
  5914. 4860 V
  5915. (18439)210 648 A
  5916. 1110(/*)S
  5917. (Write)210 1236 A
  5918. (out)126 1488 A
  5919. (the)126 1656 A
  5920. (whole)210 1824 A
  5921. (kernel)252 2076 A
  5922. (process)294 2370 A
  5923. (table)210 2706 A
  5924. (entry)210 2958 A
  5925. 3210(to)S
  5926. (get)126 3336 A
  5927. (the)126 3504 A
  5928. (regs.)210 3672 A
  5929. 3924(*/)S
  5930. 4950 V
  5931. (18440)210 648 A
  5932. (trace_off)378 1110 A
  5933. 1530(=)S
  5934. 1614(0;)S
  5935. 5040 V
  5936. (18441)210 648 A
  5937. (while)210 1110 A
  5938. ((sys_trace(3,)546 1362 A
  5939. (slot,)210 1950 A
  5940. (trace_off,)420 2202 A
  5941. (&trace_data))504 2664 A
  5942. 3210(==)S
  5943. (OK))126 3336 A
  5944. 3504({)S
  5945. 5130 V
  5946. (18442)210 648 A
  5947. 1362(if)S
  5948. ((write(fd,)420 1488 A
  5949. ((char)210 1950 A
  5950. 2202(*))S
  5951. (&trace_data,)504 2328 A
  5952. ((unsigned))420 2874 A
  5953. (sizeof)252 3336 A
  5954. ((long)))294 3630 A
  5955. 5220 V
  5956. (18443)210 648 A
  5957. 1530(!=)S
  5958. ((unsigned))420 1656 A
  5959. (sizeof)252 2118 A
  5960. ((long)))294 2412 A
  5961. 2748({)S
  5962. 5310 V
  5963. (18444)210 648 A
  5964. (close(fd);)420 1698 A
  5965. 5400 V
  5966. (18445)210 648 A
  5967. (return;)294 1698 A
  5968. 5490 V
  5969. (18446)210 648 A
  5970. 1362(})S
  5971. 5580 V
  5972. (18447)210 648 A
  5973. (trace_off)378 1362 A
  5974. 1782(+=)S
  5975. (sizeof)252 1908 A
  5976. ((long);)294 2202 A
  5977. 5670 V
  5978. (18448)210 648 A
  5979. 1110(})S
  5980. 5760 V
  5981. (18449)210 648 A
  5982. 5850 V
  5983. (18450)210 648 A
  5984. 1110(/*)S
  5985. (Loop)168 1236 A
  5986. (through)294 1446 A
  5987. (segments)336 1782 A
  5988. (and)126 2160 A
  5989. (write)210 2328 A
  5990. (the)126 2580 A
  5991. (segments)336 2748 A
  5992. (themselves)420 3126 A
  5993. (out.)168 3588 A
  5994. 3798(*/)S
  5995. 5940 V
  5996. (18451)210 648 A
  5997. (for)126 1110 A
  5998. ((seg)168 1278 A
  5999. 1488(=)S
  6000. 1572(0;)S
  6001. (seg)126 1698 A
  6002. 1866(<)S
  6003. (NR_SEGS;)336 1950 A
  6004. (seg++))252 2328 A
  6005. 2622({)S
  6006. 6030 V
  6007. (18452)210 648 A
  6008. (buf)126 1362 A
  6009. 1530(=)S
  6010. ((char)210 1614 A
  6011. 1866(*))S
  6012. (((vir_bytes))504 1992 A
  6013. (rmp->mp_seg[seg].mem_vir)1008 2538 A
  6014. 3588(<<)S
  6015. (CLICK_SHIFT);)546 3714 A
  6016. 6120 V
  6017. (18453)210 648 A
  6018. (left)168 1362 A
  6019. 1572(=)S
  6020. ((phys_bytes))504 1656 A
  6021. (rmp->mp_seg[seg].mem_len)1008 2202 A
  6022. 3252(<<)S
  6023. (CLICK_SHIFT;)504 3378 A
  6024. 6210 V
  6025. (18454)210 648 A
  6026. (fake_fd)294 1362 A
  6027. 1698(=)S
  6028. ((slot)210 1782 A
  6029. 2034(<<)S
  6030. 2160(8))S
  6031. 2286(|)S
  6032. ((seg)168 2370 A
  6033. 2580(<<)S
  6034. 2706(6))S
  6035. 2832(|)S
  6036. (fd;)126 2916 A
  6037. 8418 V
  6038. EP
  6039. %%Page: 258 258
  6040. BP
  6041. /slant 0 def
  6042. /height 0 def
  6043. 630 V
  6044. 12 B
  6045. (258)180 648 A
  6046. 11 R
  6047. 2068(File:)S
  6048. 2301(src/mm/signal.c)S
  6049. 10 R
  6050. 3402(MINIX)S
  6051. 3730(SOURCE)S
  6052. 4153(CODE)S
  6053. 900 V
  6054. 7 LST
  6055. (18455)210 648 A
  6056. 990 V
  6057. (18456)210 648 A
  6058. 1362(/*)S
  6059. (Loop)168 1488 A
  6060. (through)294 1698 A
  6061. 2034(a)S
  6062. (segment,)336 2118 A
  6063. (dumping)294 2496 A
  6064. (it.)126 2832 A
  6065. 3000(*/)S
  6066. 1080 V
  6067. (18457)210 648 A
  6068. (while)210 1362 A
  6069. ((left)210 1614 A
  6070. 1866(!=)S
  6071. 1992(0))S
  6072. 2118({)S
  6073. 1170 V
  6074. (18458)210 648 A
  6075. (nr_to_write)462 1698 A
  6076. 2202(=)S
  6077. ((unsigned))420 2286 A
  6078. (MIN(left,)378 2748 A
  6079. (DUMP_SIZE);)462 3168 A
  6080. 1260 V
  6081. (18459)210 648 A
  6082. 1698(if)S
  6083. 1824(()S
  6084. ((nr_written)462 1908 A
  6085. 2412(=)S
  6086. (write(fake_fd,)588 2496 A
  6087. (buf,)168 3126 A
  6088. (nr_to_write)))546 3336 A
  6089. 3924(<)S
  6090. 4008(0))S
  6091. 4134({)S
  6092. 1350 V
  6093. (18460)210 648 A
  6094. (close(fd);)420 2034 A
  6095. 1440 V
  6096. (18461)210 648 A
  6097. (return;)294 2034 A
  6098. 1530 V
  6099. (18462)210 648 A
  6100. 1698(})S
  6101. 1620 V
  6102. (18463)210 648 A
  6103. (buf)126 1698 A
  6104. 1866(+=)S
  6105. (nr_written;)462 1992 A
  6106. 1710 V
  6107. (18464)210 648 A
  6108. (left)168 1698 A
  6109. 1908(-=)S
  6110. (nr_written;)462 2034 A
  6111. 1800 V
  6112. (18465)210 648 A
  6113. 1362(})S
  6114. 1890 V
  6115. (18466)210 648 A
  6116. 1110(})S
  6117. 1980 V
  6118. (18467)210 648 A
  6119. (close(fd);)420 1110 A
  6120. 2070 V
  6121. (18468)210 648 A
  6122. 1026(})S
  6123. 2340 V
  6124. (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
  6125. 2430 V
  6126. (src/mm/getset.c)630 2034 A
  6127. 2520 V
  6128. (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
  6129. 2700 V
  6130. (18500)210 648 A
  6131. 1026(/*)S
  6132. (This)168 1152 A
  6133. (file)168 1362 A
  6134. (handles)294 1572 A
  6135. (the)126 1908 A
  6136. 2076(4)S
  6137. (system)252 2160 A
  6138. (calls)210 2454 A
  6139. (that)168 2706 A
  6140. (get)126 2916 A
  6141. (and)126 3084 A
  6142. (set)126 3252 A
  6143. (uids)168 3420 A
  6144. (and)126 3630 A
  6145. (gids.)210 3798 A
  6146. 2790 V
  6147. (18501)210 648 A
  6148. 1068(*)S
  6149. 1152(It)S
  6150. (also)168 1278 A
  6151. (handles)294 1488 A
  6152. (getpid(),)378 1824 A
  6153. (setsid(),)378 2244 A
  6154. (and)126 2664 A
  6155. (getpgrp().)420 2832 A
  6156. (The)126 3336 A
  6157. (code)168 3504 A
  6158. (for)126 3714 A
  6159. (each)168 3882 A
  6160. 2880 V
  6161. (18502)210 648 A
  6162. 1068(*)S
  6163. (one)126 1152 A
  6164. 1320(is)S
  6165. 1446(so)S
  6166. (tiny)168 1572 A
  6167. (that)168 1782 A
  6168. 1992(it)S
  6169. (hardly)252 2118 A
  6170. (seemed)252 2412 A
  6171. (worthwhile)420 2706 A
  6172. 3168(to)S
  6173. (make)168 3294 A
  6174. (each)168 3504 A
  6175. 3714(a)S
  6176. (separate)336 3798 A
  6177. 2970 V
  6178. (18503)210 648 A
  6179. 1068(*)S
  6180. (function.)378 1152 A
  6181. 3060 V
  6182. (18504)210 648 A
  6183. 1068(*/)S
  6184. 3150 V
  6185. (18505)210 648 A
  6186. 3240 V
  6187. (18506)210 648 A
  6188. (#include)336 1026 A
  6189. ("mm.h")252 1404 A
  6190. 3330 V
  6191. (18507)210 648 A
  6192. (#include)336 1026 A
  6193. (<minix/callnr.h>)672 1404 A
  6194. 3420 V
  6195. (18508)210 648 A
  6196. (#include)336 1026 A
  6197. (<signal.h>)420 1404 A
  6198. 3510 V
  6199. (18509)210 648 A
  6200. (#include)336 1026 A
  6201. ("mproc.h")378 1404 A
  6202. 3600 V
  6203. (18510)210 648 A
  6204. (#include)336 1026 A
  6205. ("param.h")378 1404 A
  6206. 3690 V
  6207. (18511)210 648 A
  6208. 3780 V
  6209. (18512)210 648 A
  6210. (/*===========================================================================*)3276 1026 A
  6211. 3870 V
  6212. (18513)210 648 A
  6213. 1068(*)S
  6214. (do_getset)378 2370 A
  6215. 4260(*)S
  6216. 3960 V
  6217. (18514)210 648 A
  6218. (*===========================================================================*/)3276 1068 A
  6219. 4050 V
  6220. (18515)210 648 A
  6221. (PUBLIC)252 1026 A
  6222. (int)126 1320 A
  6223. (do_getset())462 1488 A
  6224. 4140 V
  6225. (18516)210 648 A
  6226. 1026({)S
  6227. 4230 V
  6228. (18517)210 648 A
  6229. 1026(/*)S
  6230. (Handle)252 1152 A
  6231. (GETUID,)294 1446 A
  6232. (GETGID,)294 1782 A
  6233. (GETPID,)294 2118 A
  6234. (GETPGRP,)336 2454 A
  6235. (SETUID,)294 2832 A
  6236. (SETGID,)294 3168 A
  6237. (SETSID.)294 3504 A
  6238. (The)126 3882 A
  6239. (four)168 4050 A
  6240. 4320 V
  6241. (18518)210 648 A
  6242. 1068(*)S
  6243. (GETs)168 1152 A
  6244. (and)126 1362 A
  6245. (SETSID)252 1530 A
  6246. (return)252 1824 A
  6247. (their)210 2118 A
  6248. (primary)294 2370 A
  6249. (results)294 2706 A
  6250. 3042(in)S
  6251. ('r'.)168 3168 A
  6252. (GETUID,)294 3420 A
  6253. (GETGID,)294 3756 A
  6254. (and)126 4092 A
  6255. 4410 V
  6256. (18519)210 648 A
  6257. 1068(*)S
  6258. (GETPID)252 1152 A
  6259. (also)168 1446 A
  6260. (return)252 1656 A
  6261. (secondary)378 1950 A
  6262. (results)294 2370 A
  6263. ((the)168 2706 A
  6264. (effective)378 2916 A
  6265. (IDs,)168 3336 A
  6266. 3546(or)S
  6267. (the)126 3672 A
  6268. (parent)252 3840 A
  6269. 4500 V
  6270. (18520)210 648 A
  6271. 1068(*)S
  6272. (process)294 1152 A
  6273. (ID))126 1488 A
  6274. 1656(in)S
  6275. ('result2',)420 1782 A
  6276. (which)210 2244 A
  6277. 2496(is)S
  6278. (returned)336 2622 A
  6279. 3000(to)S
  6280. (the)126 3126 A
  6281. (user.)210 3294 A
  6282. 4590 V
  6283. (18521)210 648 A
  6284. 1068(*/)S
  6285. 4680 V
  6286. (18522)210 648 A
  6287. 4770 V
  6288. (18523)210 648 A
  6289. (register)336 1110 A
  6290. (struct)252 1488 A
  6291. (mproc)210 1782 A
  6292. (*rmp)168 2034 A
  6293. 2244(=)S
  6294. (mp;)126 2328 A
  6295. 4860 V
  6296. (18524)210 648 A
  6297. (register)336 1110 A
  6298. (int)126 1488 A
  6299. 1656(r;)S
  6300. 4950 V
  6301. (18525)210 648 A
  6302. 5040 V
  6303. (18526)210 648 A
  6304. (switch(mm_call))630 1110 A
  6305. 1782({)S
  6306. 5130 V
  6307. (18527)210 648 A
  6308. (case)168 1362 A
  6309. (GETUID:)294 1572 A
  6310. 5220 V
  6311. (18528)210 648 A
  6312. 1698(r)S
  6313. 1782(=)S
  6314. (rmp->mp_realuid;)672 1866 A
  6315. 5310 V
  6316. (18529)210 648 A
  6317. (result2)294 1698 A
  6318. 2034(=)S
  6319. (rmp->mp_effuid;)630 2118 A
  6320. 5400 V
  6321. (18530)210 648 A
  6322. (break;)252 1698 A
  6323. 5490 V
  6324. (18531)210 648 A
  6325. 5580 V
  6326. (18532)210 648 A
  6327. (case)168 1362 A
  6328. (GETGID:)294 1572 A
  6329. 5670 V
  6330. (18533)210 648 A
  6331. 1698(r)S
  6332. 1782(=)S
  6333. (rmp->mp_realgid;)672 1866 A
  6334. 5760 V
  6335. (18534)210 648 A
  6336. (result2)294 1698 A
  6337. 2034(=)S
  6338. (rmp->mp_effgid;)630 2118 A
  6339. 5850 V
  6340. (18535)210 648 A
  6341. (break;)252 1698 A
  6342. 5940 V
  6343. (18536)210 648 A
  6344. 6030 V
  6345. (18537)210 648 A
  6346. (case)168 1362 A
  6347. (GETPID:)294 1572 A
  6348. 6120 V
  6349. (18538)210 648 A
  6350. 1698(r)S
  6351. 1782(=)S
  6352. (mproc[who].mp_pid;)756 1866 A
  6353. 6210 V
  6354. (18539)210 648 A
  6355. (result2)294 1698 A
  6356. 2034(=)S
  6357. (mproc[rmp->mp_parent].mp_pid;)1218 2118 A
  6358. 8418 V
  6359. EP
  6360. %%Page: 259 259
  6361. BP
  6362. /slant 0 def
  6363. /height 0 def
  6364. 630 V
  6365. 10 R
  6366. 648(MINIX)S
  6367. 976(SOURCE)S
  6368. 1399(CODE)S
  6369. 11 R
  6370. 2070(File:)S
  6371. 2303(src/mm/getset.c)S
  6372. 12 B
  6373. (259)180 4248 A
  6374. 900 V
  6375. 7 LST
  6376. (18540)210 648 A
  6377. (break;)252 1698 A
  6378. 990 V
  6379. (18541)210 648 A
  6380. 1080 V
  6381. (18542)210 648 A
  6382. (case)168 1362 A
  6383. (SETUID:)294 1572 A
  6384. 1170 V
  6385. (18543)210 648 A
  6386. 1698(if)S
  6387. ((rmp->mp_realuid)672 1824 A
  6388. 2538(!=)S
  6389. (usr_id)252 2664 A
  6390. 2958(&&)S
  6391. (rmp->mp_effuid)588 3084 A
  6392. 3714(!=)S
  6393. (SUPER_USER))462 3840 A
  6394. 1260 V
  6395. (18544)210 648 A
  6396. (return(EPERM);)588 2034 A
  6397. 1350 V
  6398. (18545)210 648 A
  6399. (rmp->mp_realuid)630 1698 A
  6400. 2370(=)S
  6401. (usr_id;)294 2454 A
  6402. 1440 V
  6403. (18546)210 648 A
  6404. (rmp->mp_effuid)588 1698 A
  6405. 2328(=)S
  6406. (usr_id;)294 2412 A
  6407. 1530 V
  6408. (18547)210 648 A
  6409. (tell_fs(SETUID,)630 1698 A
  6410. (who,)168 2370 A
  6411. (usr_id,)294 2580 A
  6412. (usr_id);)336 2916 A
  6413. 1620 V
  6414. (18548)210 648 A
  6415. 1698(r)S
  6416. 1782(=)S
  6417. (OK;)126 1866 A
  6418. 1710 V
  6419. (18549)210 648 A
  6420. (break;)252 1698 A
  6421. 1800 V
  6422. (18550)210 648 A
  6423. 1890 V
  6424. (18551)210 648 A
  6425. (case)168 1362 A
  6426. (SETGID:)294 1572 A
  6427. 1980 V
  6428. (18552)210 648 A
  6429. 1698(if)S
  6430. ((rmp->mp_realgid)672 1824 A
  6431. 2538(!=)S
  6432. (grpid)210 2664 A
  6433. 2916(&&)S
  6434. (rmp->mp_effuid)588 3042 A
  6435. 3672(!=)S
  6436. (SUPER_USER))462 3798 A
  6437. 2070 V
  6438. (18553)210 648 A
  6439. (return(EPERM);)588 2034 A
  6440. 2160 V
  6441. (18554)210 648 A
  6442. (rmp->mp_realgid)630 1698 A
  6443. 2370(=)S
  6444. (grpid;)252 2454 A
  6445. 2250 V
  6446. (18555)210 648 A
  6447. (rmp->mp_effgid)588 1698 A
  6448. 2328(=)S
  6449. (grpid;)252 2412 A
  6450. 2340 V
  6451. (18556)210 648 A
  6452. (tell_fs(SETGID,)630 1698 A
  6453. (who,)168 2370 A
  6454. (grpid,)252 2580 A
  6455. (grpid);)294 2874 A
  6456. 2430 V
  6457. (18557)210 648 A
  6458. 1698(r)S
  6459. 1782(=)S
  6460. (OK;)126 1866 A
  6461. 2520 V
  6462. (18558)210 648 A
  6463. (break;)252 1698 A
  6464. 2610 V
  6465. (18559)210 648 A
  6466. 2700 V
  6467. (18560)210 648 A
  6468. (case)168 1362 A
  6469. (SETSID:)294 1572 A
  6470. 2790 V
  6471. (18561)210 648 A
  6472. 1698(if)S
  6473. ((rmp->mp_procgrp)672 1824 A
  6474. 2538(==)S
  6475. (rmp->mp_pid))504 2664 A
  6476. (return(EPERM);)588 3210 A
  6477. 2880 V
  6478. (18562)210 648 A
  6479. (rmp->mp_procgrp)630 1698 A
  6480. 2370(=)S
  6481. (rmp->mp_pid;)504 2454 A
  6482. 2970 V
  6483. (18563)210 648 A
  6484. (tell_fs(SETSID,)630 1698 A
  6485. (who,)168 2370 A
  6486. 2580(0,)S
  6487. (0);)126 2706 A
  6488. 3060 V
  6489. (18564)210 648 A
  6490. (/*FALL)252 1698 A
  6491. (THROUGH*/)378 1992 A
  6492. 3150 V
  6493. (18565)210 648 A
  6494. 3240 V
  6495. (18566)210 648 A
  6496. (case)168 1362 A
  6497. (GETPGRP:)336 1572 A
  6498. 3330 V
  6499. (18567)210 648 A
  6500. 1698(r)S
  6501. 1782(=)S
  6502. (rmp->mp_procgrp;)672 1866 A
  6503. 3420 V
  6504. (18568)210 648 A
  6505. (break;)252 1698 A
  6506. 3510 V
  6507. (18569)210 648 A
  6508. 3600 V
  6509. (18570)210 648 A
  6510. (default:)336 1362 A
  6511. 3690 V
  6512. (18571)210 648 A
  6513. 1698(r)S
  6514. 1782(=)S
  6515. (EINVAL;)294 1866 A
  6516. 3780 V
  6517. (18572)210 648 A
  6518. (break;)252 1698 A
  6519. 3870 V
  6520. (18573)210 648 A
  6521. 1110(})S
  6522. 3960 V
  6523. (18574)210 648 A
  6524. (return(r);)420 1110 A
  6525. 4050 V
  6526. (18575)210 648 A
  6527. 1026(})S
  6528. 4590 V
  6529. (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
  6530. 4680 V
  6531. (src/mm/trace.c)588 2034 A
  6532. 4770 V
  6533. (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
  6534. 4950 V
  6535. (18600)210 648 A
  6536. 1026(/*)S
  6537. (This)168 1152 A
  6538. (file)168 1362 A
  6539. (handles)294 1572 A
  6540. (the)126 1908 A
  6541. (memory)252 2076 A
  6542. (manager's)378 2370 A
  6543. (part)168 2790 A
  6544. 3000(of)S
  6545. (debugging,)420 3126 A
  6546. (using)210 3588 A
  6547. (the)126 3840 A
  6548. 5040 V
  6549. (18601)210 648 A
  6550. 1068(*)S
  6551. (ptrace)252 1152 A
  6552. (system)252 1446 A
  6553. (call.)210 1740 A
  6554. (Most)168 1992 A
  6555. 2202(of)S
  6556. (the)126 2328 A
  6557. (commands)336 2496 A
  6558. (are)126 2874 A
  6559. (passed)252 3042 A
  6560. 3336(on)S
  6561. 3462(to)S
  6562. (the)126 3588 A
  6563. (system)252 3756 A
  6564. 5130 V
  6565. (18602)210 648 A
  6566. 1068(*)S
  6567. (task)168 1152 A
  6568. (for)126 1362 A
  6569. (completion.)462 1530 A
  6570. 5220 V
  6571. (18603)210 648 A
  6572. 1068(*)S
  6573. 5310 V
  6574. (18604)210 648 A
  6575. 1068(*)S
  6576. (The)126 1152 A
  6577. (debugging)378 1320 A
  6578. (commands)336 1740 A
  6579. (available)378 2118 A
  6580. (are:)168 2538 A
  6581. 5400 V
  6582. (18605)210 648 A
  6583. 1068(*)S
  6584. (T_STOP)252 1152 A
  6585. (stop)168 1698 A
  6586. (the)126 1908 A
  6587. (process)294 2076 A
  6588. 5490 V
  6589. (18606)210 648 A
  6590. 1068(*)S
  6591. (T_OK)168 1152 A
  6592. (enable)252 1698 A
  6593. (tracing)294 1992 A
  6594. 2328(by)S
  6595. (parent)252 2454 A
  6596. (for)126 2748 A
  6597. (this)168 2916 A
  6598. (process)294 3126 A
  6599. 5580 V
  6600. (18607)210 648 A
  6601. 1068(*)S
  6602. (T_GETINS)336 1152 A
  6603. (return)252 1698 A
  6604. (value)210 1992 A
  6605. (from)168 2244 A
  6606. (instruction)462 2454 A
  6607. (space)210 2958 A
  6608. 5670 V
  6609. (18608)210 648 A
  6610. 1068(*)S
  6611. (T_GETDATA)378 1152 A
  6612. (return)252 1698 A
  6613. (value)210 1992 A
  6614. (from)168 2244 A
  6615. (data)168 2454 A
  6616. (space)210 2664 A
  6617. 5760 V
  6618. (18609)210 648 A
  6619. 1068(*)S
  6620. (T_GETUSER)378 1152 A
  6621. (return)252 1698 A
  6622. (value)210 1992 A
  6623. (from)168 2244 A
  6624. (user)168 2454 A
  6625. (process)294 2664 A
  6626. (table)210 3000 A
  6627. 5850 V
  6628. (18610)210 648 A
  6629. 1068(*)S
  6630. (T_SETINS)336 1152 A
  6631. (set)126 1698 A
  6632. (value)210 1866 A
  6633. 2118(in)S
  6634. (instruction)462 2244 A
  6635. (space)210 2748 A
  6636. 5940 V
  6637. (18611)210 648 A
  6638. 1068(*)S
  6639. (T_SETDATA)378 1152 A
  6640. (set)126 1698 A
  6641. (value)210 1866 A
  6642. 2118(in)S
  6643. (data)168 2244 A
  6644. (space)210 2454 A
  6645. 6030 V
  6646. (18612)210 648 A
  6647. 1068(*)S
  6648. (T_SETUSER)378 1152 A
  6649. (set)126 1698 A
  6650. (value)210 1866 A
  6651. 2118(in)S
  6652. (user)168 2244 A
  6653. (process)294 2454 A
  6654. (table)210 2790 A
  6655. 6120 V
  6656. (18613)210 648 A
  6657. 1068(*)S
  6658. (T_RESUME)336 1152 A
  6659. (resume)252 1698 A
  6660. (execution)378 1992 A
  6661. 6210 V
  6662. (18614)210 648 A
  6663. 1068(*)S
  6664. (T_EXIT)252 1152 A
  6665. (exit)168 1698 A
  6666. 8418 V
  6667. EP
  6668. %%Page: 260 260
  6669. BP
  6670. /slant 0 def
  6671. /height 0 def
  6672. 630 V
  6673. 12 B
  6674. (260)180 648 A
  6675. 11 R
  6676. 2091(File:)S
  6677. (src/mm/trace.c)660 2324 A
  6678. 10 R
  6679. 3402(MINIX)S
  6680. 3730(SOURCE)S
  6681. 4153(CODE)S
  6682. 900 V
  6683. 7 LST
  6684. (18615)210 648 A
  6685. 1068(*)S
  6686. (T_STEP)252 1152 A
  6687. (set)126 1698 A
  6688. (trace)210 1866 A
  6689. (bit)126 2118 A
  6690. 990 V
  6691. (18616)210 648 A
  6692. 1068(*)S
  6693. 1080 V
  6694. (18617)210 648 A
  6695. 1068(*)S
  6696. (The)126 1152 A
  6697. (T_OK)168 1320 A
  6698. (and)126 1530 A
  6699. (T_EXIT)252 1698 A
  6700. (commands)336 1992 A
  6701. (are)126 2370 A
  6702. (handled)294 2538 A
  6703. (here,)210 2874 A
  6704. (and)126 3126 A
  6705. (the)126 3294 A
  6706. (T_RESUME)336 3462 A
  6707. (and)126 3840 A
  6708. 1170 V
  6709. (18618)210 648 A
  6710. 1068(*)S
  6711. (T_STEP)252 1152 A
  6712. (commands)336 1446 A
  6713. (are)126 1824 A
  6714. (partially)378 1992 A
  6715. (handled)294 2412 A
  6716. (here)168 2748 A
  6717. (and)126 2958 A
  6718. (completed)378 3126 A
  6719. 3546(by)S
  6720. (the)126 3672 A
  6721. (system)252 3840 A
  6722. 1260 V
  6723. (18619)210 648 A
  6724. 1068(*)S
  6725. (task.)210 1152 A
  6726. (The)126 1404 A
  6727. (rest)168 1572 A
  6728. (are)126 1782 A
  6729. (handled)294 1950 A
  6730. (entirely)336 2286 A
  6731. 2664(by)S
  6732. (the)126 2790 A
  6733. (system)252 2958 A
  6734. (task.)210 3252 A
  6735. 1350 V
  6736. (18620)210 648 A
  6737. 1068(*/)S
  6738. 1440 V
  6739. (18621)210 648 A
  6740. 1530 V
  6741. (18622)210 648 A
  6742. (#include)336 1026 A
  6743. ("mm.h")252 1404 A
  6744. 1620 V
  6745. (18623)210 648 A
  6746. (#include)336 1026 A
  6747. (<sys/ptrace.h>)588 1404 A
  6748. 1710 V
  6749. (18624)210 648 A
  6750. (#include)336 1026 A
  6751. (<signal.h>)420 1404 A
  6752. 1800 V
  6753. (18625)210 648 A
  6754. (#include)336 1026 A
  6755. ("mproc.h")378 1404 A
  6756. 1890 V
  6757. (18626)210 648 A
  6758. (#include)336 1026 A
  6759. ("param.h")378 1404 A
  6760. 1980 V
  6761. (18627)210 648 A
  6762. 2070 V
  6763. (18628)210 648 A
  6764. (#define)294 1026 A
  6765. (NIL_MPROC)378 1362 A
  6766. (((struct)336 2034 A
  6767. (mproc)210 2412 A
  6768. 2664(*))S
  6769. 2790(0))S
  6770. 2160 V
  6771. (18629)210 648 A
  6772. 2250 V
  6773. (18630)210 648 A
  6774. (FORWARD)294 1026 A
  6775. (_PROTOTYPE()462 1362 A
  6776. (struct)252 1866 A
  6777. (mproc)210 2160 A
  6778. (*findproc,)420 2412 A
  6779. ((pid_t)252 2874 A
  6780. (lpid))210 3168 A
  6781. 3420();)S
  6782. 2340 V
  6783. (18631)210 648 A
  6784. 2430 V
  6785. (18632)210 648 A
  6786. (/*===========================================================================*)3276 1026 A
  6787. 2520 V
  6788. (18633)210 648 A
  6789. 1068(*)S
  6790. (do_trace)336 2370 A
  6791. 4260(*)S
  6792. 2610 V
  6793. (18634)210 648 A
  6794. (*===========================================================================*/)3276 1068 A
  6795. 2700 V
  6796. (18635)210 648 A
  6797. (PUBLIC)252 1026 A
  6798. (int)126 1320 A
  6799. (do_trace())420 1488 A
  6800. 2790 V
  6801. (18636)210 648 A
  6802. 1026({)S
  6803. 2880 V
  6804. (18637)210 648 A
  6805. (register)336 1110 A
  6806. (struct)252 1488 A
  6807. (mproc)210 1782 A
  6808. (*child;)294 2034 A
  6809. 2970 V
  6810. (18638)210 648 A
  6811. 3060 V
  6812. (18639)210 648 A
  6813. 1110(/*)S
  6814. (the)126 1236 A
  6815. (T_OK)168 1404 A
  6816. (call)168 1614 A
  6817. 1824(is)S
  6818. (made)168 1950 A
  6819. 2160(by)S
  6820. (the)126 2286 A
  6821. (child)210 2454 A
  6822. (fork)168 2706 A
  6823. 2916(of)S
  6824. (the)126 3042 A
  6825. (debugger)336 3210 A
  6826. (before)252 3588 A
  6827. 3882(it)S
  6828. (execs)210 4008 A
  6829. 3150 V
  6830. (18640)210 648 A
  6831. 1152(*)S
  6832. (the)126 1236 A
  6833. (process)294 1404 A
  6834. 1740(to)S
  6835. 1866(be)S
  6836. (traced)252 1992 A
  6837. 3240 V
  6838. (18641)210 648 A
  6839. 1152(*/)S
  6840. 3330 V
  6841. (18642)210 648 A
  6842. 1110(if)S
  6843. ((request)336 1236 A
  6844. 1614(==)S
  6845. (T_OK))210 1740 A
  6846. ({/*)126 1992 A
  6847. (enable)252 2160 A
  6848. (tracing)294 2454 A
  6849. 2790(by)S
  6850. (parent)252 2916 A
  6851. (for)126 3210 A
  6852. (this)168 3378 A
  6853. (process)294 3588 A
  6854. 3924(*/)S
  6855. 3420 V
  6856. (18643)210 648 A
  6857. (mp->mp_flags)504 1362 A
  6858. 1908(|=)S
  6859. (TRACED;)294 2034 A
  6860. 3510 V
  6861. (18644)210 648 A
  6862. (mm_out.m2_l2)504 1362 A
  6863. 1908(=)S
  6864. 1992(0;)S
  6865. 3600 V
  6866. (18645)210 648 A
  6867. (return(OK);)462 1362 A
  6868. 3690 V
  6869. (18646)210 648 A
  6870. 1110(})S
  6871. 3780 V
  6872. (18647)210 648 A
  6873. 1110(if)S
  6874. (((child)294 1236 A
  6875. 1572(=)S
  6876. (findproc(pid)))588 1656 A
  6877. 2286(==)S
  6878. (NIL_MPROC)378 2412 A
  6879. 2832(||)S
  6880. (!(child->mp_flags)714 2958 A
  6881. 3714(&)S
  6882. (STOPPED)))378 3798 A
  6883. 4218({)S
  6884. 3870 V
  6885. (18648)210 648 A
  6886. (return(ESRCH);)588 1362 A
  6887. 3960 V
  6888. (18649)210 648 A
  6889. 1110(})S
  6890. 4050 V
  6891. (18650)210 648 A
  6892. 1110(/*)S
  6893. (all)126 1236 A
  6894. (the)126 1404 A
  6895. (other)210 1572 A
  6896. (calls)210 1824 A
  6897. (are)126 2076 A
  6898. (made)168 2244 A
  6899. 2454(by)S
  6900. (the)126 2580 A
  6901. (parent)252 2748 A
  6902. (fork)168 3042 A
  6903. 3252(of)S
  6904. (the)126 3378 A
  6905. (debugger)336 3546 A
  6906. 3924(to)S
  6907. 4140 V
  6908. (18651)210 648 A
  6909. 1152(*)S
  6910. (control)294 1236 A
  6911. (execution)378 1572 A
  6912. 1992(of)S
  6913. (the)126 2118 A
  6914. (child)210 2286 A
  6915. 4230 V
  6916. (18652)210 648 A
  6917. 1152(*/)S
  6918. 4320 V
  6919. (18653)210 648 A
  6920. (switch)252 1110 A
  6921. ((request))378 1404 A
  6922. 1824({)S
  6923. 4410 V
  6924. (18654)210 648 A
  6925. (case)168 1110 A
  6926. (T_EXIT:)294 1320 A
  6927. 2034(/*)S
  6928. (exit)168 2160 A
  6929. 2370(*/)S
  6930. 4500 V
  6931. (18655)210 648 A
  6932. (mm_exit(child,)588 1362 A
  6933. ((int)data);)462 1992 A
  6934. 4590 V
  6935. (18656)210 648 A
  6936. (mm_out.m2_l2)504 1362 A
  6937. 1908(=)S
  6938. 1992(0;)S
  6939. 4680 V
  6940. (18657)210 648 A
  6941. (return(OK);)462 1362 A
  6942. 4770 V
  6943. (18658)210 648 A
  6944. (case)168 1110 A
  6945. (T_RESUME:)378 1320 A
  6946. 4860 V
  6947. (18659)210 648 A
  6948. (case)168 1110 A
  6949. (T_STEP:)294 1320 A
  6950. 2034(/*)S
  6951. (resume)252 2160 A
  6952. (execution)378 2454 A
  6953. 2874(*/)S
  6954. 4950 V
  6955. (18660)210 648 A
  6956. 1362(if)S
  6957. ((data)210 1488 A
  6958. 1740(<)S
  6959. 1824(0)S
  6960. 1908(||)S
  6961. (data)168 2034 A
  6962. 2244(>)S
  6963. (_NSIG))252 2328 A
  6964. (return(EIO);)504 2622 A
  6965. 5040 V
  6966. (18661)210 648 A
  6967. 1362(if)S
  6968. ((data)210 1488 A
  6969. 1740(>)S
  6970. 1824(0))S
  6971. 1950({)S
  6972. 2370(/*)S
  6973. (issue)210 2496 A
  6974. (signal)252 2748 A
  6975. 3042(*/)S
  6976. 5130 V
  6977. (18662)210 648 A
  6978. (child->mp_flags)630 1698 A
  6979. 2370(&=)S
  6980. (304TRACED;)336 2496 A
  6981. 2916(/*)S
  6982. 3042(so)S
  6983. (signal)252 3168 A
  6984. 3462(is)S
  6985. (not)126 3588 A
  6986. (diverted)336 3756 A
  6987. 4134(*/)S
  6988. 5220 V
  6989. (18663)210 648 A
  6990. (sig_proc(child,)630 1698 A
  6991. ((int))210 2370 A
  6992. (data);)252 2622 A
  6993. 5310 V
  6994. (18664)210 648 A
  6995. (child->mp_flags)630 1698 A
  6996. 2370(|=)S
  6997. (TRACED;)294 2496 A
  6998. 5400 V
  6999. (18665)210 648 A
  7000. 1362(})S
  7001. 5490 V
  7002. (18666)210 648 A
  7003. (child->mp_flags)630 1362 A
  7004. 2034(&=)S
  7005. (304STOPPED;)378 2160 A
  7006. 5580 V
  7007. (18667)210 648 A
  7008. (break;)252 1362 A
  7009. 5670 V
  7010. (18668)210 648 A
  7011. 1110(})S
  7012. 5760 V
  7013. (18669)210 648 A
  7014. 1110(if)S
  7015. ((sys_trace(request,)798 1236 A
  7016. ((int))210 2076 A
  7017. ((child)252 2328 A
  7018. 2622(-)S
  7019. (mproc),)294 2706 A
  7020. (taddr,)252 3042 A
  7021. (&data))252 3336 A
  7022. 3630(!=)S
  7023. (OK))126 3756 A
  7024. 5850 V
  7025. (18670)210 648 A
  7026. (return(-errno);)630 1362 A
  7027. 5940 V
  7028. (18671)210 648 A
  7029. (mm_out.m2_l2)504 1110 A
  7030. 1656(=)S
  7031. (data;)210 1740 A
  7032. 6030 V
  7033. (18672)210 648 A
  7034. (return(OK);)462 1110 A
  7035. 6120 V
  7036. (18673)210 648 A
  7037. 1026(})S
  7038. 8418 V
  7039. EP
  7040. %%Page: 261 261
  7041. BP
  7042. /slant 0 def
  7043. /height 0 def
  7044. 630 V
  7045. 10 R
  7046. 648(MINIX)S
  7047. 976(SOURCE)S
  7048. 1399(CODE)S
  7049. 11 R
  7050. 2091(File:)S
  7051. (src/mm/trace.c)660 2324 A
  7052. 12 B
  7053. (261)180 4248 A
  7054. 900 V
  7055. 7 LST
  7056. (18675)210 648 A
  7057. (/*===========================================================================*)3276 1026 A
  7058. 990 V
  7059. (18676)210 648 A
  7060. 1068(*)S
  7061. (findproc)336 2370 A
  7062. 4260(*)S
  7063. 1080 V
  7064. (18677)210 648 A
  7065. (*===========================================================================*/)3276 1068 A
  7066. 1170 V
  7067. (18678)210 648 A
  7068. (PRIVATE)294 1026 A
  7069. (struct)252 1362 A
  7070. (mproc)210 1656 A
  7071. (*findproc(lpid))630 1908 A
  7072. 1260 V
  7073. (18679)210 648 A
  7074. (pid_t)210 1026 A
  7075. (lpid;)210 1278 A
  7076. 1350 V
  7077. (18680)210 648 A
  7078. 1026({)S
  7079. 1440 V
  7080. (18681)210 648 A
  7081. (register)336 1110 A
  7082. (struct)252 1488 A
  7083. (mproc)210 1782 A
  7084. (*rmp;)210 2034 A
  7085. 1530 V
  7086. (18682)210 648 A
  7087. 1620 V
  7088. (18683)210 648 A
  7089. (for)126 1110 A
  7090. ((rmp)168 1278 A
  7091. 1488(=)S
  7092. (&mproc[INIT_PROC_NR)798 1572 A
  7093. 2412(+)S
  7094. (1];)126 2496 A
  7095. (rmp)126 2664 A
  7096. 2832(<)S
  7097. (&mproc[NR_PROCS];)714 2916 A
  7098. (rmp++))252 3672 A
  7099. 1710 V
  7100. (18684)210 648 A
  7101. 1362(if)S
  7102. ((rmp->mp_flags)588 1488 A
  7103. 2118(&)S
  7104. (IN_USE)252 2202 A
  7105. 2496(&&)S
  7106. (rmp->mp_pid)462 2622 A
  7107. 3126(==)S
  7108. (lpid))210 3252 A
  7109. (return(rmp);)504 3504 A
  7110. 1800 V
  7111. (18685)210 648 A
  7112. (return(NIL_MPROC);)756 1110 A
  7113. 1890 V
  7114. (18686)210 648 A
  7115. 1026(})S
  7116. 2070 V
  7117. (18688)210 648 A
  7118. (/*===========================================================================*)3276 1026 A
  7119. 2160 V
  7120. (18689)210 648 A
  7121. 1068(*)S
  7122. (stop_proc)378 2370 A
  7123. 4260(*)S
  7124. 2250 V
  7125. (18690)210 648 A
  7126. (*===========================================================================*/)3276 1068 A
  7127. 2340 V
  7128. (18691)210 648 A
  7129. (PUBLIC)252 1026 A
  7130. (void)168 1320 A
  7131. (stop_proc(rmp,)588 1530 A
  7132. (signo))252 2160 A
  7133. 2430 V
  7134. (18692)210 648 A
  7135. (register)336 1026 A
  7136. (struct)252 1404 A
  7137. (mproc)210 1698 A
  7138. (*rmp;)210 1950 A
  7139. 2520 V
  7140. (18693)210 648 A
  7141. (int)126 1026 A
  7142. (signo;)252 1194 A
  7143. 2610 V
  7144. (18694)210 648 A
  7145. 1026({)S
  7146. 2700 V
  7147. (18695)210 648 A
  7148. 1026(/*)S
  7149. 1152(A)S
  7150. (traced)252 1236 A
  7151. (process)294 1530 A
  7152. (got)126 1866 A
  7153. 2034(a)S
  7154. (signal)252 2118 A
  7155. 2412(so)S
  7156. (stop)168 2538 A
  7157. (it.)126 2748 A
  7158. 2916(*/)S
  7159. 2790 V
  7160. (18696)210 648 A
  7161. 2880 V
  7162. (18697)210 648 A
  7163. (register)336 1110 A
  7164. (struct)252 1488 A
  7165. (mproc)210 1782 A
  7166. (*rpmp)210 2034 A
  7167. 2286(=)S
  7168. (mproc)210 2370 A
  7169. 2622(+)S
  7170. (rmp->mp_parent;)630 2706 A
  7171. 2970 V
  7172. (18698)210 648 A
  7173. 3060 V
  7174. (18699)210 648 A
  7175. 1110(if)S
  7176. ((sys_trace(-1,)588 1236 A
  7177. ((int))210 1866 A
  7178. ((rmp)168 2118 A
  7179. 2328(-)S
  7180. (mproc),)294 2412 A
  7181. (0L,)126 2748 A
  7182. ((long)210 2916 A
  7183. 3168(*))S
  7184. 3294(0))S
  7185. 3420(!=)S
  7186. (OK))126 3546 A
  7187. (return;)294 3714 A
  7188. 3150 V
  7189. (18700)210 648 A
  7190. (rmp->mp_flags)546 1110 A
  7191. 1698(|=)S
  7192. (STOPPED;)336 1824 A
  7193. 3240 V
  7194. (18701)210 648 A
  7195. 1110(if)S
  7196. ((rpmp->mp_flags)630 1236 A
  7197. 1908(&)S
  7198. (WAITING))336 1992 A
  7199. 2370({)S
  7200. 3330 V
  7201. (18702)210 648 A
  7202. (rpmp->mp_flags)588 1362 A
  7203. 1992(&=)S
  7204. (304WAITING;)378 2118 A
  7205. 2706(/*)S
  7206. (parent)252 2832 A
  7207. 3126(is)S
  7208. 3252(no)S
  7209. (longer)252 3378 A
  7210. (waiting)294 3672 A
  7211. 4008(*/)S
  7212. 3420 V
  7213. (18703)210 648 A
  7214. (reply(rmp->mp_parent,)882 1362 A
  7215. (rmp->mp_pid,)504 2286 A
  7216. (0177)168 2832 A
  7217. 3042(|)S
  7218. ((signo)252 3126 A
  7219. 3420(<<)S
  7220. (8),)126 3546 A
  7221. (NIL_PTR);)378 3714 A
  7222. 3510 V
  7223. (18704)210 648 A
  7224. 1110(})S
  7225. (else)168 1194 A
  7226. 1404({)S
  7227. 3600 V
  7228. (18705)210 648 A
  7229. (rmp->mp_sigstatus)714 1362 A
  7230. 2118(=)S
  7231. (signo;)252 2202 A
  7232. 3690 V
  7233. (18706)210 648 A
  7234. 1110(})S
  7235. 3780 V
  7236. (18707)210 648 A
  7237. (return;)294 1110 A
  7238. 3870 V
  7239. (18708)210 648 A
  7240. 1026(})S
  7241. 4140 V
  7242. (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
  7243. 4230 V
  7244. (src/mm/alloc.c)588 2034 A
  7245. 4320 V
  7246. (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
  7247. 4500 V
  7248. (18800)210 648 A
  7249. 1026(/*)S
  7250. (This)168 1152 A
  7251. (file)168 1362 A
  7252. 1572(is)S
  7253. (concerned)378 1698 A
  7254. (with)168 2118 A
  7255. (allocating)420 2328 A
  7256. (and)126 2790 A
  7257. (freeing)294 2958 A
  7258. (arbitrary-size)588 3294 A
  7259. (blocks)252 3924 A
  7260. 4218(of)S
  7261. 4590 V
  7262. (18801)210 648 A
  7263. 1068(*)S
  7264. (physical)336 1152 A
  7265. (memory)252 1530 A
  7266. 1824(on)S
  7267. (behalf)252 1950 A
  7268. 2244(of)S
  7269. (the)126 2370 A
  7270. (FORK)168 2538 A
  7271. (and)126 2748 A
  7272. (EXEC)168 2916 A
  7273. (system)252 3126 A
  7274. (calls.)252 3420 A
  7275. (The)126 3756 A
  7276. (key)126 3924 A
  7277. (data)168 4092 A
  7278. 4680 V
  7279. (18802)210 648 A
  7280. 1068(*)S
  7281. (structure)378 1152 A
  7282. (used)168 1572 A
  7283. 1782(is)S
  7284. (the)126 1908 A
  7285. (hole)168 2076 A
  7286. (table,)252 2286 A
  7287. (which)210 2580 A
  7288. (maintains)378 2832 A
  7289. 3252(a)S
  7290. (list)168 3336 A
  7291. 3546(of)S
  7292. (holes)210 3672 A
  7293. 3924(in)S
  7294. (memory.)294 4050 A
  7295. 4770 V
  7296. (18803)210 648 A
  7297. 1068(*)S
  7298. 1152(It)S
  7299. 1278(is)S
  7300. (kept)168 1404 A
  7301. (sorted)252 1614 A
  7302. 1908(in)S
  7303. (order)210 2034 A
  7304. 2286(of)S
  7305. (increasing)420 2412 A
  7306. (memory)252 2874 A
  7307. (address.)336 3168 A
  7308. (The)126 3546 A
  7309. (addresses)378 3714 A
  7310. 4860 V
  7311. (18804)210 648 A
  7312. 1068(*)S
  7313. 1152(it)S
  7314. (contains)336 1278 A
  7315. (refer)210 1656 A
  7316. 1908(to)S
  7317. (physical)336 2034 A
  7318. (memory,)294 2412 A
  7319. (starting)336 2748 A
  7320. 3126(at)S
  7321. (absolute)336 3252 A
  7322. (address)294 3630 A
  7323. 3966(0)S
  7324. 4950 V
  7325. (18805)210 648 A
  7326. 1068(*)S
  7327. ((i.e.,)252 1152 A
  7328. (they)168 1446 A
  7329. (are)126 1656 A
  7330. (not)126 1824 A
  7331. (relative)336 1992 A
  7332. 2370(to)S
  7333. (the)126 2496 A
  7334. (start)210 2664 A
  7335. 2916(of)S
  7336. (MM).)168 3042 A
  7337. (During)252 3294 A
  7338. (system)252 3588 A
  7339. 5040 V
  7340. (18806)210 648 A
  7341. 1068(*)S
  7342. (initialization,)630 1152 A
  7343. (that)168 1824 A
  7344. (part)168 2034 A
  7345. 2244(of)S
  7346. (memory)252 2370 A
  7347. (containing)420 2664 A
  7348. (the)126 3126 A
  7349. (interrupt)378 3294 A
  7350. (vectors,)336 3714 A
  7351. 5130 V
  7352. (18807)210 648 A
  7353. 1068(*)S
  7354. (kernel,)294 1152 A
  7355. (and)126 1488 A
  7356. 1656(MM)S
  7357. (are)126 1782 A
  7358. ("allocated")462 1950 A
  7359. 2454(to)S
  7360. (mark)168 2580 A
  7361. (them)168 2790 A
  7362. 3000(as)S
  7363. (not)126 3126 A
  7364. (available)378 3294 A
  7365. (and)126 3714 A
  7366. 3882(to)S
  7367. 5220 V
  7368. (18808)210 648 A
  7369. 1068(*)S
  7370. (remove)252 1152 A
  7371. (them)168 1446 A
  7372. (from)168 1656 A
  7373. (the)126 1866 A
  7374. (hole)168 2034 A
  7375. (list.)210 2244 A
  7376. 5310 V
  7377. (18809)210 648 A
  7378. 1068(*)S
  7379. 5400 V
  7380. (18810)210 648 A
  7381. 1068(*)S
  7382. (The)126 1152 A
  7383. (entry)210 1320 A
  7384. (points)252 1572 A
  7385. (into)168 1866 A
  7386. (this)168 2076 A
  7387. (file)168 2286 A
  7388. (are:)168 2496 A
  7389. 5490 V
  7390. (18811)210 648 A
  7391. 1068(*)S
  7392. (alloc_mem:)420 1236 A
  7393. (allocate)336 1698 A
  7394. 2076(a)S
  7395. (given)210 2160 A
  7396. (sized)210 2412 A
  7397. (chunk)210 2664 A
  7398. 2916(of)S
  7399. (memory)252 3042 A
  7400. 5580 V
  7401. (18812)210 648 A
  7402. 1068(*)S
  7403. (free_mem:)378 1236 A
  7404. (release)294 1698 A
  7405. 2034(a)S
  7406. (previously)420 2118 A
  7407. (allocated)378 2580 A
  7408. (chunk)210 3000 A
  7409. 3252(of)S
  7410. (memory)252 3378 A
  7411. 5670 V
  7412. (18813)210 648 A
  7413. 1068(*)S
  7414. (mem_init:)378 1236 A
  7415. (initialize)420 1698 A
  7416. (the)126 2160 A
  7417. (tables)252 2328 A
  7418. (when)168 2622 A
  7419. 2832(MM)S
  7420. (start)210 2958 A
  7421. 3210(up)S
  7422. 5760 V
  7423. (18814)210 648 A
  7424. 1068(*)S
  7425. (max_hole:)378 1236 A
  7426. (returns)294 1698 A
  7427. (the)126 2034 A
  7428. (largest)294 2202 A
  7429. (hole)168 2538 A
  7430. (currently)378 2748 A
  7431. (available)378 3168 A
  7432. 5850 V
  7433. (18815)210 648 A
  7434. 1068(*/)S
  7435. 5940 V
  7436. (18816)210 648 A
  7437. 6030 V
  7438. (18817)210 648 A
  7439. (#include)336 1026 A
  7440. ("mm.h")252 1404 A
  7441. 6120 V
  7442. (18818)210 648 A
  7443. (#include)336 1026 A
  7444. (<minix/com.h>)546 1404 A
  7445. 6210 V
  7446. (18819)210 648 A
  7447. 8418 V
  7448. EP
  7449. %%Page: 262 262
  7450. BP
  7451. /slant 0 def
  7452. /height 0 def
  7453. 630 V
  7454. 12 B
  7455. (262)180 648 A
  7456. 11 R
  7457. 2092(File:)S
  7458. 2325(src/mm/alloc.c)S
  7459. 10 R
  7460. 3402(MINIX)S
  7461. 3730(SOURCE)S
  7462. 4153(CODE)S
  7463. 900 V
  7464. 7 LST
  7465. (18820)210 648 A
  7466. (#define)294 1026 A
  7467. (NR_HOLES)336 1362 A
  7468. (128)126 2076 A
  7469. 2370(/*)S
  7470. (max)126 2496 A
  7471. 2664(#)S
  7472. (entries)294 2748 A
  7473. 3084(in)S
  7474. (hole)168 3210 A
  7475. (table)210 3420 A
  7476. 3672(*/)S
  7477. 990 V
  7478. (18821)210 648 A
  7479. (#define)294 1026 A
  7480. (NIL_HOLE)336 1362 A
  7481. ((struct)294 1740 A
  7482. (hole)168 2076 A
  7483. 2286(*))S
  7484. 2412(0)S
  7485. 1080 V
  7486. (18822)210 648 A
  7487. 1170 V
  7488. (18823)210 648 A
  7489. (PRIVATE)294 1026 A
  7490. (struct)252 1362 A
  7491. (hole)168 1656 A
  7492. 1866({)S
  7493. 1260 V
  7494. (18824)210 648 A
  7495. (phys_clicks)462 1110 A
  7496. (h_base;)294 1614 A
  7497. 2370(/*)S
  7498. (where)210 2496 A
  7499. (does)168 2748 A
  7500. (the)126 2958 A
  7501. (hole)168 3126 A
  7502. (begin?)252 3336 A
  7503. 3630(*/)S
  7504. 1350 V
  7505. (18825)210 648 A
  7506. (phys_clicks)462 1110 A
  7507. (h_len;)252 1614 A
  7508. 2370(/*)S
  7509. (how)126 2496 A
  7510. (big)126 2664 A
  7511. 2832(is)S
  7512. (the)126 2958 A
  7513. (hole?)210 3126 A
  7514. 3378(*/)S
  7515. 1440 V
  7516. (18826)210 648 A
  7517. (struct)252 1110 A
  7518. (hole)168 1404 A
  7519. (*h_next;)336 1614 A
  7520. 2370(/*)S
  7521. (pointer)294 2496 A
  7522. 2832(to)S
  7523. (next)168 2958 A
  7524. (entry)210 3168 A
  7525. 3420(on)S
  7526. (the)126 3546 A
  7527. (list)168 3714 A
  7528. 3924(*/)S
  7529. 1530 V
  7530. (18827)210 648 A
  7531. 1026(})S
  7532. (hole[NR_HOLES];)630 1110 A
  7533. 1620 V
  7534. (18828)210 648 A
  7535. 1710 V
  7536. (18829)210 648 A
  7537. 1800 V
  7538. (18830)210 648 A
  7539. (PRIVATE)294 1026 A
  7540. (struct)252 1362 A
  7541. (hole)168 1656 A
  7542. (*hole_head;)462 1866 A
  7543. 2370(/*)S
  7544. (pointer)294 2496 A
  7545. 2832(to)S
  7546. (first)210 2958 A
  7547. (hole)168 3210 A
  7548. 3420(*/)S
  7549. 1890 V
  7550. (18831)210 648 A
  7551. (PRIVATE)294 1026 A
  7552. (struct)252 1362 A
  7553. (hole)168 1656 A
  7554. (*free_slots;)504 1866 A
  7555. 2706(/*)S
  7556. (ptr)126 2832 A
  7557. 3000(to)S
  7558. (list)168 3126 A
  7559. 3336(of)S
  7560. (unused)252 3462 A
  7561. (table)210 3756 A
  7562. (slots)210 4008 A
  7563. 4260(*/)S
  7564. 1980 V
  7565. (18832)210 648 A
  7566. 2070 V
  7567. (18833)210 648 A
  7568. (FORWARD)294 1026 A
  7569. (_PROTOTYPE()462 1362 A
  7570. (void)168 1866 A
  7571. (del_slot,)378 2076 A
  7572. ((struct)294 2496 A
  7573. (hole)168 2832 A
  7574. (*prev_ptr,)420 3042 A
  7575. (struct)252 3504 A
  7576. (hole)168 3798 A
  7577. (*hp))168 4008 A
  7578. 4218();)S
  7579. 2160 V
  7580. (18834)210 648 A
  7581. (FORWARD)294 1026 A
  7582. (_PROTOTYPE()462 1362 A
  7583. (void)168 1866 A
  7584. (merge,)252 2076 A
  7585. ((struct)294 2370 A
  7586. (hole)168 2706 A
  7587. (*hp))168 2916 A
  7588. 4218();)S
  7589. 2250 V
  7590. (18835)210 648 A
  7591. 2340 V
  7592. (18836)210 648 A
  7593. 2430 V
  7594. (18837)210 648 A
  7595. (/*===========================================================================*)3276 1026 A
  7596. 2520 V
  7597. (18838)210 648 A
  7598. 1068(*)S
  7599. (alloc_mem)378 2370 A
  7600. 4260(*)S
  7601. 2610 V
  7602. (18839)210 648 A
  7603. (*===========================================================================*/)3276 1068 A
  7604. 2700 V
  7605. (18840)210 648 A
  7606. (PUBLIC)252 1026 A
  7607. (phys_clicks)462 1320 A
  7608. (alloc_mem(clicks))714 1824 A
  7609. 2790 V
  7610. (18841)210 648 A
  7611. (phys_clicks)462 1026 A
  7612. (clicks;)294 1530 A
  7613. 2370(/*)S
  7614. (amount)252 2496 A
  7615. 2790(of)S
  7616. (memory)252 2916 A
  7617. (requested)378 3210 A
  7618. 3630(*/)S
  7619. 2880 V
  7620. (18842)210 648 A
  7621. 1026({)S
  7622. 2970 V
  7623. (18843)210 648 A
  7624. 1026(/*)S
  7625. (Allocate)336 1152 A
  7626. 1530(a)S
  7627. (block)210 1614 A
  7628. 1866(of)S
  7629. (memory)252 1992 A
  7630. (from)168 2286 A
  7631. (the)126 2496 A
  7632. (free)168 2664 A
  7633. (list)168 2874 A
  7634. (using)210 3084 A
  7635. (first)210 3336 A
  7636. (fit.)168 3588 A
  7637. (The)126 3798 A
  7638. (block)210 3966 A
  7639. 3060 V
  7640. (18844)210 648 A
  7641. 1068(*)S
  7642. (consists)336 1152 A
  7643. 1530(of)S
  7644. 1656(a)S
  7645. (sequence)336 1740 A
  7646. 2118(of)S
  7647. (contiguous)420 2244 A
  7648. (bytes,)252 2706 A
  7649. (whose)210 3000 A
  7650. (length)252 3252 A
  7651. 3546(in)S
  7652. (clicks)252 3672 A
  7653. 3966(is)S
  7654. 3150 V
  7655. (18845)210 648 A
  7656. 1068(*)S
  7657. (given)210 1152 A
  7658. 1404(by)S
  7659. ('clicks'.)378 1530 A
  7660. 1992(A)S
  7661. (pointer)294 2076 A
  7662. 2412(to)S
  7663. (the)126 2538 A
  7664. (block)210 2706 A
  7665. 2958(is)S
  7666. (returned.)378 3084 A
  7667. (The)126 3546 A
  7668. (block)210 3714 A
  7669. 3966(is)S
  7670. 3240 V
  7671. (18846)210 648 A
  7672. 1068(*)S
  7673. (always)252 1152 A
  7674. 1446(on)S
  7675. 1572(a)S
  7676. (click)210 1656 A
  7677. (boundary.)378 1908 A
  7678. (This)168 2370 A
  7679. (procedure)378 2580 A
  7680. 3000(is)S
  7681. (called)252 3126 A
  7682. (when)168 3420 A
  7683. (memory)252 3630 A
  7684. 3924(is)S
  7685. 3330 V
  7686. (18847)210 648 A
  7687. 1068(*)S
  7688. (needed)252 1152 A
  7689. (for)126 1446 A
  7690. (FORK)168 1614 A
  7691. 1824(or)S
  7692. (EXEC.)210 1950 A
  7693. 3420 V
  7694. (18848)210 648 A
  7695. 1068(*/)S
  7696. 3510 V
  7697. (18849)210 648 A
  7698. 3600 V
  7699. (18850)210 648 A
  7700. (register)336 1110 A
  7701. (struct)252 1488 A
  7702. (hole)168 1782 A
  7703. (*hp,)168 1992 A
  7704. (*prev_ptr;)420 2202 A
  7705. 3690 V
  7706. (18851)210 648 A
  7707. (phys_clicks)462 1110 A
  7708. (old_base;)378 1614 A
  7709. 3780 V
  7710. (18852)210 648 A
  7711. 3870 V
  7712. (18853)210 648 A
  7713. 1110(hp)S
  7714. 1236(=)S
  7715. (hole_head;)420 1320 A
  7716. 3960 V
  7717. (18854)210 648 A
  7718. (while)210 1110 A
  7719. ((hp)126 1362 A
  7720. 1530(!=)S
  7721. (NIL_HOLE))378 1656 A
  7722. 2076({)S
  7723. 4050 V
  7724. (18855)210 648 A
  7725. 1362(if)S
  7726. ((hp->h_len)420 1488 A
  7727. 1950(>=)S
  7728. (clicks))294 2076 A
  7729. 2412({)S
  7730. 4140 V
  7731. (18856)210 648 A
  7732. 1698(/*)S
  7733. 1824(We)S
  7734. (found)210 1950 A
  7735. 2202(a)S
  7736. (hole)168 2286 A
  7737. (that)168 2496 A
  7738. 2706(is)S
  7739. (big)126 2832 A
  7740. (enough.)294 3000 A
  7741. (Use)126 3378 A
  7742. (it.)126 3546 A
  7743. 3714(*/)S
  7744. 4230 V
  7745. (18857)210 648 A
  7746. (old_base)336 1698 A
  7747. 2076(=)S
  7748. (hp->h_base;)462 2160 A
  7749. 2706(/*)S
  7750. (remember)336 2832 A
  7751. (where)210 3210 A
  7752. 3462(it)S
  7753. (started)294 3588 A
  7754. 3924(*/)S
  7755. 4320 V
  7756. (18858)210 648 A
  7757. (hp->h_base)420 1698 A
  7758. 2160(+=)S
  7759. (clicks;)294 2286 A
  7760. 2706(/*)S
  7761. (bite)168 2832 A
  7762. 3042(a)S
  7763. (piece)210 3126 A
  7764. (off)126 3378 A
  7765. 3546(*/)S
  7766. 4410 V
  7767. (18859)210 648 A
  7768. (hp->h_len)378 1698 A
  7769. 2118(-=)S
  7770. (clicks;)294 2244 A
  7771. 2706(/*)S
  7772. (ditto)210 2832 A
  7773. 3084(*/)S
  7774. 4500 V
  7775. (18860)210 648 A
  7776. 4590 V
  7777. (18861)210 648 A
  7778. 1698(/*)S
  7779. 1824(If)S
  7780. (hole)168 1950 A
  7781. 2160(is)S
  7782. (only)168 2286 A
  7783. (partly)252 2496 A
  7784. (used,)210 2790 A
  7785. (reduce)252 3042 A
  7786. (size)168 3336 A
  7787. (and)126 3546 A
  7788. (return.)294 3714 A
  7789. 4050(*/)S
  7790. 4680 V
  7791. (18862)210 648 A
  7792. 1698(if)S
  7793. ((hp->h_len)420 1824 A
  7794. 2286(!=)S
  7795. 2412(0))S
  7796. (return(old_base);)714 2538 A
  7797. 4770 V
  7798. (18863)210 648 A
  7799. 4860 V
  7800. (18864)210 648 A
  7801. 1698(/*)S
  7802. (The)126 1824 A
  7803. (entire)252 1992 A
  7804. (hole)168 2286 A
  7805. (has)126 2496 A
  7806. (been)168 2664 A
  7807. (used)168 2874 A
  7808. (up.)126 3084 A
  7809. (Manipulate)420 3294 A
  7810. (free)168 3756 A
  7811. (list.)210 3966 A
  7812. 4218(*/)S
  7813. 4950 V
  7814. (18865)210 648 A
  7815. (del_slot(prev_ptr,)756 1698 A
  7816. (hp);)168 2496 A
  7817. 5040 V
  7818. (18866)210 648 A
  7819. (return(old_base);)714 1698 A
  7820. 5130 V
  7821. (18867)210 648 A
  7822. 1362(})S
  7823. 5220 V
  7824. (18868)210 648 A
  7825. 5310 V
  7826. (18869)210 648 A
  7827. (prev_ptr)336 1362 A
  7828. 1740(=)S
  7829. (hp;)126 1824 A
  7830. 5400 V
  7831. (18870)210 648 A
  7832. 1362(hp)S
  7833. 1488(=)S
  7834. (hp->h_next;)462 1572 A
  7835. 5490 V
  7836. (18871)210 648 A
  7837. 1110(})S
  7838. 5580 V
  7839. (18872)210 648 A
  7840. (return(NO_MEM);)630 1110 A
  7841. 5670 V
  7842. (18873)210 648 A
  7843. 1026(})S
  7844. 5940 V
  7845. (18876)210 648 A
  7846. (/*===========================================================================*)3276 1026 A
  7847. 6030 V
  7848. (18877)210 648 A
  7849. 1068(*)S
  7850. (free_mem)336 2370 A
  7851. 4260(*)S
  7852. 6120 V
  7853. (18878)210 648 A
  7854. (*===========================================================================*/)3276 1068 A
  7855. 6210 V
  7856. (18879)210 648 A
  7857. (PUBLIC)252 1026 A
  7858. (void)168 1320 A
  7859. (free_mem(base,)588 1530 A
  7860. (clicks))294 2160 A
  7861. 8418 V
  7862. EP
  7863. %%Page: 263 263
  7864. BP
  7865. /slant 0 def
  7866. /height 0 def
  7867. 630 V
  7868. 10 R
  7869. 648(MINIX)S
  7870. 976(SOURCE)S
  7871. 1399(CODE)S
  7872. 11 R
  7873. 2092(File:)S
  7874. 2325(src/mm/alloc.c)S
  7875. 12 B
  7876. (263)180 4248 A
  7877. 900 V
  7878. 7 LST
  7879. (18880)210 648 A
  7880. (phys_clicks)462 1026 A
  7881. (base;)210 1530 A
  7882. 2370(/*)S
  7883. (base)168 2496 A
  7884. (address)294 2706 A
  7885. 3042(of)S
  7886. (block)210 3168 A
  7887. 3420(to)S
  7888. (free)168 3546 A
  7889. 3756(*/)S
  7890. 990 V
  7891. (18881)210 648 A
  7892. (phys_clicks)462 1026 A
  7893. (clicks;)294 1530 A
  7894. 2370(/*)S
  7895. (number)252 2496 A
  7896. 2790(of)S
  7897. (clicks)252 2916 A
  7898. 3210(to)S
  7899. (free)168 3336 A
  7900. 3546(*/)S
  7901. 1080 V
  7902. (18882)210 648 A
  7903. 1026({)S
  7904. 1170 V
  7905. (18883)210 648 A
  7906. 1026(/*)S
  7907. (Return)252 1152 A
  7908. 1446(a)S
  7909. (block)210 1530 A
  7910. 1782(of)S
  7911. (free)168 1908 A
  7912. (memory)252 2118 A
  7913. 2412(to)S
  7914. (the)126 2538 A
  7915. (hole)168 2706 A
  7916. (list.)210 2916 A
  7917. (The)126 3210 A
  7918. (parameters)420 3378 A
  7919. (tell)168 3840 A
  7920. (where)210 4050 A
  7921. 1260 V
  7922. (18884)210 648 A
  7923. 1068(*)S
  7924. (the)126 1152 A
  7925. (block)210 1320 A
  7926. (starts)252 1572 A
  7927. 1866(in)S
  7928. (physical)336 1992 A
  7929. (memory)252 2370 A
  7930. (and)126 2664 A
  7931. (how)126 2832 A
  7932. (big)126 3000 A
  7933. 3168(it)S
  7934. (is.)126 3294 A
  7935. (The)126 3504 A
  7936. (block)210 3672 A
  7937. 3924(is)S
  7938. (added)210 4050 A
  7939. 1350 V
  7940. (18885)210 648 A
  7941. 1068(*)S
  7942. 1152(to)S
  7943. (the)126 1278 A
  7944. (hole)168 1446 A
  7945. (list.)210 1656 A
  7946. 1950(If)S
  7947. 2076(it)S
  7948. 2202(is)S
  7949. (contiguous)420 2328 A
  7950. (with)168 2790 A
  7951. 3000(an)S
  7952. (existing)336 3126 A
  7953. (hole)168 3504 A
  7954. 3714(on)S
  7955. (either)252 3840 A
  7956. (end,)168 4134 A
  7957. 1440 V
  7958. (18886)210 648 A
  7959. 1068(*)S
  7960. 1152(it)S
  7961. 1278(is)S
  7962. (merged)252 1404 A
  7963. (with)168 1698 A
  7964. (the)126 1908 A
  7965. (hole)168 2076 A
  7966. 2286(or)S
  7967. (holes.)252 2412 A
  7968. 1530 V
  7969. (18887)210 648 A
  7970. 1068(*/)S
  7971. 1620 V
  7972. (18888)210 648 A
  7973. 1710 V
  7974. (18889)210 648 A
  7975. (register)336 1110 A
  7976. (struct)252 1488 A
  7977. (hole)168 1782 A
  7978. (*hp,)168 1992 A
  7979. (*new_ptr,)378 2202 A
  7980. (*prev_ptr;)420 2622 A
  7981. 1800 V
  7982. (18890)210 648 A
  7983. 1890 V
  7984. (18891)210 648 A
  7985. 1110(if)S
  7986. ((clicks)294 1236 A
  7987. 1572(==)S
  7988. 1698(0))S
  7989. (return;)294 1824 A
  7990. 1980 V
  7991. (18892)210 648 A
  7992. 1110(if)S
  7993. 1236(()S
  7994. ((new_ptr)336 1320 A
  7995. 1698(=)S
  7996. (free_slots))462 1782 A
  7997. 2286(==)S
  7998. (NIL_HOLE))378 2412 A
  7999. (panic("Hole)462 2832 A
  8000. (table)210 3336 A
  8001. (full",)252 3588 A
  8002. (NO_NUM);)336 3882 A
  8003. 2070 V
  8004. (18893)210 648 A
  8005. (new_ptr->h_base)630 1110 A
  8006. 1782(=)S
  8007. (base;)210 1866 A
  8008. 2160 V
  8009. (18894)210 648 A
  8010. (new_ptr->h_len)588 1110 A
  8011. 1740(=)S
  8012. (clicks;)294 1824 A
  8013. 2250 V
  8014. (18895)210 648 A
  8015. (free_slots)420 1110 A
  8016. 1572(=)S
  8017. (new_ptr->h_next;)672 1656 A
  8018. 2340 V
  8019. (18896)210 648 A
  8020. 1110(hp)S
  8021. 1236(=)S
  8022. (hole_head;)420 1320 A
  8023. 2430 V
  8024. (18897)210 648 A
  8025. 2520 V
  8026. (18898)210 648 A
  8027. 1110(/*)S
  8028. 1236(If)S
  8029. (this)168 1362 A
  8030. (block's)294 1572 A
  8031. (address)294 1908 A
  8032. 2244(is)S
  8033. (numerically)462 2370 A
  8034. (less)168 2874 A
  8035. (than)168 3084 A
  8036. (the)126 3294 A
  8037. (lowest)252 3462 A
  8038. (hole)168 3756 A
  8039. (currently)378 3966 A
  8040. 2610 V
  8041. (18899)210 648 A
  8042. 1152(*)S
  8043. (available,)420 1236 A
  8044. 1698(or)S
  8045. 1824(if)S
  8046. 1950(no)S
  8047. (holes)210 2076 A
  8048. (are)126 2328 A
  8049. (currently)378 2496 A
  8050. (available,)420 2916 A
  8051. (put)126 3378 A
  8052. (this)168 3546 A
  8053. (hole)168 3756 A
  8054. 3966(on)S
  8055. (the)126 4092 A
  8056. 2700 V
  8057. (18900)210 648 A
  8058. 1152(*)S
  8059. (front)210 1236 A
  8060. 1488(of)S
  8061. (the)126 1614 A
  8062. (hole)168 1782 A
  8063. (list.)210 1992 A
  8064. 2790 V
  8065. (18901)210 648 A
  8066. 1152(*/)S
  8067. 2880 V
  8068. (18902)210 648 A
  8069. 1110(if)S
  8070. ((hp)126 1236 A
  8071. 1404(==)S
  8072. (NIL_HOLE)336 1530 A
  8073. 1908(||)S
  8074. (base)168 2034 A
  8075. 2244(<=)S
  8076. (hp->h_base))462 2370 A