Changeset 35177 in project


Ignore:
Timestamp:
02/22/18 12:20:17 (10 months ago)
Author:
kon
Message:

fix nesting levels

File:
1 edited

Legend:

Unmodified
Added
Removed
  • wiki/eggref/4/synch

    r35101 r35177  
    99
    1010== Documentation
    11 
    12 === Critical Regions
    1311
    1412Where {{MUTEX-FORM}} below the following forms are accepted:
     
    1715; {{(MUTEX-OBJECT [(LOCK-ARG...) [(UNLOCK-ARG...)]])}} : mutex w/ optional lock and unlock arguments
    1816
    19 ==== Synchronized Invocation - Continuation Safe
     17=== Synchronized Invocation - Continuation Safe
    2018
    2119These forms have the mutex lock/unlock wrapped in '''{{dynamic-wind}}'''.
    2220
    23 ===== synch
     21==== synch
    2422
    2523<macro>(synch MUTEX-FORM [BODY ...]) => object</macro>
     
    2927Returns the result of {{BODY ...}}.
    3028
    31 ===== synch-with
     29==== synch-with
    3230
    3331<macro>(synch-with MUTEX-FORM VARIABLE [BODY ...]) => object</macro>
     
    3836Returns the result of {{BODY ...}}.
    3937
    40 ===== call-synch
     38==== call-synch
    4139
    4240<macro>(call-synch MUTEX-FORM PROCEDURE [ARGUMENTS ...]) => object</macro>
     
    4745Returns the result of the {{PROCEDURE}} invocation.
    4846
    49 ===== call-synch-with
     47==== call-synch-with
    5048
    5149<macro>(call-synch-with MUTEX-FORM PROCEDURE [ARGUMENTS ...]) => object</macro>
     
    5654Returns the result of the {{PROCEDURE}} invocation.
    5755
    58 ===== apply-synch
     56==== apply-synch
    5957
    6058<macro>(apply-synch MUTEX-FORM PROCEDURE [ARGUMENTS ...]) => object</macro>
     
    6563Returns the result of the {{PROCEDURE}} application.
    6664
    67 ===== apply-synch-with
     65==== apply-synch-with
    6866
    6967<macro>(apply-synch-with MUTEX-FORM PROCEDURE [ARGUMENTS ...]) => object</macro>
     
    7472Returns the result of the {{PROCEDURE}} application.
    7573
    76 ===== synch-lock
     74==== synch-lock
    7775
    7876<macro>(synch-lock MUTEX-FORM [BODY ...]) => object</macro>
     
    8280Returns the result of {{BODY ...}}.
    8381
    84 ===== synch-unlock
     82==== synch-unlock
    8583
    8684<macro>(synch-unlock MUTEX-FORM [BODY ...]) => object</macro>
     
    9391executing the {{BODY}}.
    9492
    95 ===== let-synch-with
     93==== let-synch-with
    9694
    9795<macro>(let-synch-with BINDINGS [BODY ...]) => object</macro>
     
    105103Returns the result of {{BODY ...}}.
    106104
    107 ===== set!-synch-with
     105==== set!-synch-with
    108106
    109107<macro>(set!-synch-with MUTEX-FORM VARIABLE [BODY ...]) => object</macro>
     
    115113Returns the new mutex-specific of {{MUTEX}}.
    116114
    117 ===== object-synch-cut-with
     115==== object-synch-cut-with
    118116
    119117<macro>(object-synch-cut-with MUTEX-FORM [BODY ...]) => object<-macro>
     
    126124Returns the result of {{BODY ...}}.
    127125
    128 ===== record-synch
     126==== record-synch
    129127
    130128<macro>(record-synch RECORD-OBJECT RECORD-SYMBOL [BODY ...]) => object</macro>
     
    148146</enscript>
    149147
    150 ===== record-synch-lock
     148==== record-synch-lock
    151149
    152150<macro>(record-synch-lock RECORD-OBJECT RECORD-SYMBOL [BODY ...]) => object</macro>
     
    159157{{RECORD-SYMBOL}} and {{RECORD-OBJECT}} are per '''{{record-synch}}'''.
    160158
    161 ===== record-synch-unlock
     159==== record-synch-unlock
    162160
    163161<macro>(record-synch-unlock RECORD-OBJECT RECORD-SYMBOL [BODY ...]) => object</macro>
     
    173171executing the {{BODY}}.
    174172
    175 ==== Synchronized Invocation - Continuation Unsafe
     173=== Synchronized Invocation - Continuation Unsafe
    176174
    177175These forms do not have the mutex lock/unlock wrapped in '''{{dynamic-wind}}''',
    178176otherwise the same behavior.
    179177
    180 ===== %call-synch
     178==== %call-synch
    181179
    182180<macro>(%call-synch MUTEX-FORM PROCEDURE [ARGUMENTS ...]) => object</macro>
    183181
    184 ===== %call-synch-with
     182==== %call-synch-with
    185183
    186184<macro>(%call-synch-with MUTEX-FORM PROCEDURE [ARGUMENTS ...]) => object</macro>
    187185
    188 ===== %apply-synch
     186==== %apply-synch
    189187
    190188<macro>(%apply-synch MUTEX-FORM PROCEDURE [ARGUMENTS ...]) => object</macro>
    191189
    192 ===== %apply-synch-with
     190==== %apply-synch-with
    193191
    194192<macro>(%apply-synch-with MUTEX-FORM PROCEDURE [ARGUMENTS ...]) => object</macro>
    195193
    196 ===== %synch
     194==== %synch
    197195
    198196<macro>(%synch MUTEX-FORM [BODY ...]) => object</macro>
    199197
    200 ===== %synch-with
     198==== %synch-with
    201199
    202200<macro>(%synch-with MUTEX-FORM VARIABLE [BODY ...]) => object</macro>
    203201
    204 ===== %synch-lock
     202==== %synch-lock
    205203
    206204<macro>(%synch-lock MUTEX-FORM [BODY ...]) => object</macro>
    207205
    208 ===== %synch-unlock
     206==== %synch-unlock
    209207
    210208<macro>(%synch-unlock MUTEX-FORM [BODY ...]) => object</macro>
    211209
    212 ===== %let-synch
     210==== %let-synch
    213211
    214212<macro>(%let-synch BINDINGS [BODY ...]) => object</macro>
    215213
    216 ===== %set!-synch-with
     214==== %set!-synch-with
    217215
    218216<macro>(%set!-synch-with MUTEX-FORM VARIABLE [BODY ...]) => object</macro>
    219217
    220 ===== %object-synch-cut-with
     218==== %object-synch-cut-with
    221219
    222220<macro>(%object-synch-cut-with MUTEX-FORM [BODY ...]) => object</macro>
    223221
    224 ===== %record-synch
     222==== %record-synch
    225223
    226224<macro>(%record-synch RECORD-OBJECT RECORD-SYMBOL [BODY ...]) => object</macro>
    227225
    228 ===== %record-synch-lock
     226==== %record-synch-lock
    229227
    230228<macro>(%record-synch-lock RECORD-OBJECT RECORD-SYMBOL [BODY ...]) => object</macro>
    231229
    232 ===== %record-synch-unlock
     230==== %record-synch-unlock
    233231
    234232<macro>(%record-synch-unlock RECORD-OBJECT RECORD-SYMBOL [BODY ...]) => object</macro>
     
    237235=== Object Synchronization
    238236
    239 ==== make-synch-with-object
     237=== make-synch-with-object
    240238
    241239<procedure>(make-synch-with-object OBJECT [NAME]) => mutex</procedure>
     
    251249provided.
    252250
    253 ==== synch-with-object?
     251=== synch-with-object?
    254252
    255253<procedure>(synch-with-object? OBJECT [PREDICATE]) => bool</procedure>
     
    261259binding. Otherwise any object is accepted.
    262260
    263 ==== define-constructor-synch
     261=== define-constructor-synch
    264262
    265263<macro>(define-constructor-synch CTORNAME [ID])</macro>
     
    272270</enscript>
    273271
    274 ==== define-predicate-synch
     272=== define-predicate-synch
    275273
    276274<macro>(define-predicate-synch PREDNAME)</macro>
     
    282280</enscript>
    283281
    284 ==== define-operation-synch
     282=== define-operation-synch
    285283
    286284<macro>(define-operation-synch OPERNAME)</macro>
     
    297295</enscript>
    298296
     297=== define-operation-%synch
     298
     299<macro>(define-operation-%synch OPERNAME)</macro>
     300
     301Note that the operand must be the first argument of {{OPERNAME}}.
     302
     303=== synchronized-procedure
     304
     305<procedure>(synchronized-procedure PROC) -> procedure</procedure>
     306
     307Returns a synchronized version of {{PROC}}
     308
     309=== Critical Regions
     310
     311=== Usage
     312
     313<enscript language=scheme>
     314(require-extension critical-region)
     315</enscript>
     316
     317=== critical-region
     318
     319<syntax>(critical-region EXPR ...)</syntax>
     320
     321Executes {{EXPR ...}} with {{(disable-interrupts)}}.
     322
     323=== critical-region-apply
     324
     325<procedure>(critical-region-apply PROC [ARG ...]) -> *</procedure>
     326
     327Executes {{(apply PROC [ARG ...])}} with {{(disable-interrupts)}}.
     328
    299329
    300330== Usage
     
    336366== Version history
    337367
     368; 2.3.0 : Add {{critical-region}}, {{synchronized-procedure}}
     369; 2.2.2 :
    338370; 2.2.1 : Do not build {{format-synch}}.
    339371; 2.2.0 : Deprecate {{../synch}} bindings. Add 'format-synch.scm'.
Note: See TracChangeset for help on using the changeset viewer.