.\" Automatically generated by Pod::Man 4.07 (Pod::Simple 3.32) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .if !\nF .nr F 0 .if \nF>0 \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "FILE2SM 1" .TH FILE2SM 1 "2016-07-07" "perl v5.24.1" "ICI executables" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" file2sm \- shared\-memory linked list data ingestion test program .SH "SYNOPSIS" .IX Header "SYNOPSIS" \&\fBfile2sm\fR \fIfileName\fR .SH "DESCRIPTION" .IX Header "DESCRIPTION" \&\fBfile2sm\fR stress-tests shared-memory linked list data ingestion by repeatedly writing all text lines of the file named \fIfileName\fR to a shared-memory linked list that is the root object of a \s-1PSM\s0 partition named \*(L"file2sm\*(R". .PP After writing each line to the linked list, \fBfile2sm\fR gives a semaphore to indicate that the list is now non-empty. This is mainly for the benefit of the complementary test program \fIsm2file\fR\|(1). .PP The operation of \fBfile2sm\fR is cyclical. After copying all text lines of the source file to the linked list, \fBfile2sm\fR appends an \s-1EOF\s0 line to the linked list, containing the text \*(L"*** End of the file ***\*(R", and prints a brief performance report: .PP .Vb 1 \& Processing I lines per second. .Ve .PP Then it reopens the source file and starts appending the file's text lines to the linked list again. .SH "EXIT STATUS" .IX Header "EXIT STATUS" .ie n .IP """0""" 4 .el .IP "``0''" 4 .IX Item "0" \&\fBfile2sm\fR has terminated. .SH "FILES" .IX Header "FILES" No configuration files are needed. .SH "ENVIRONMENT" .IX Header "ENVIRONMENT" No environment variables apply. .SH "DIAGNOSTICS" .IX Header "DIAGNOSTICS" .IP "Can't attach to shared memory" 4 .IX Item "Can't attach to shared memory" Operating system error. Check errtext, correct problem, and rerun. .IP "Can't manage shared memory." 4 .IX Item "Can't manage shared memory." \&\s-1PSM\s0 error. Check for earlier diagnostic messages describing the cause of the error; correct problem and rerun. .IP "Can't create shared memory list." 4 .IX Item "Can't create shared memory list." smlist error. Check for earlier diagnostic messages describing the cause of the error; correct problem and rerun. .IP "Can't create semaphore." 4 .IX Item "Can't create semaphore." \&\s-1ION\s0 system error. Check for earlier diagnostic messages describing the cause of the error; correct problem and rerun. .IP "Can't open input file" 4 .IX Item "Can't open input file" Operating system error. Check errtext, correct problem, and rerun. .IP "Can't reopen input file" 4 .IX Item "Can't reopen input file" Operating system error. Check errtext, correct problem, and rerun. .IP "Can't read from input file" 4 .IX Item "Can't read from input file" Operating system error. Check errtext, correct problem, and rerun. .IP "Ran out of memory." 4 .IX Item "Ran out of memory." Nominal behavior. \fBsm2file\fR is not extracting data from the linked list quickly enough to prevent it from growing to consume all memory allocated to the test partition. .SH "BUGS" .IX Header "BUGS" Report bugs to .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIsm2file\fR\|(1), \fIsmlist\fR\|(3), \fIpsm\fR\|(3)