Browse Source

trivial changes to Perl plugin section.

git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@924 f882894a-f735-0410-b71e-b25c423dba1c
Stanley Hopcroft 21 năm trước cách đây
mục cha
commit
caf9ce72ff
1 tập tin đã thay đổi với 12 bổ sung7 xóa
  1. 12 7
      doc/developer-guidelines.sgml

+ 12 - 7
doc/developer-guidelines.sgml

@@ -407,12 +407,12 @@
 		<orderedlist>
 		<orderedlist>
 			
 			
 			<listitem><para> Do not use BEGIN and END blocks since they will be called 
 			<listitem><para> Do not use BEGIN and END blocks since they will be called 
-			the first time and when Nagios shuts down with Embedded Perl (ePN).  In 
+			only once (when Nagios starts and shuts down) with Embedded Perl (ePN).  In 
 			particular, do not use BEGIN blocks to initialize variables.</para>
 			particular, do not use BEGIN blocks to initialize variables.</para>
 			</listitem>
 			</listitem>
 	  
 	  
 			<listitem><para>To use utils.pm, you need to provide a full path to the
 			<listitem><para>To use utils.pm, you need to provide a full path to the
-			module in order for it to work with ePN.</para>
+			module in order for it to work.</para>
 			
 			
 	  <literallayout>
 	  <literallayout>
 	  e.g.
 	  e.g.
@@ -429,16 +429,18 @@
 			variable. </para>
 			variable. </para>
 			
 			
 
 
-			<para>Explicitly initialize each varialable in use.  Otherwise with
-			caching enabled, the plugin will not be recompilied each time, and
+			<para>Explicitly initialize each variable in use.  Otherwise with
+			caching enabled, the plugin will not be recompiled each time, and
 			therefore Perl will not reinitialize all the variables.  All old
 			therefore Perl will not reinitialize all the variables.  All old
 			variable values will still be in effect.</para>
 			variable values will still be in effect.</para>
 	  		</listitem>
 	  		</listitem>
 			
 			
-			<listitem><para>Do not use &gt; DATA &lt; (these simply do not compile under ePN).</para>
+			<listitem><para>Do not use &gt;DATA&lt; handles (these simply do not compile under ePN).</para>
 	   		</listitem>
 	   		</listitem>
 
 
-			<listitem><para>Do not use named subroutines</para> 
+			<listitem><para>Do not use global variables in named subroutines. This is bad practise anyway, but with ePN the
+			compiler will report an error "&lt;global_var&gt; will not stay shared ..". Values used by
+			subroutines should be passed in the argument list.</para> 
 			</listitem>
 			</listitem>
 
 
 			<listitem><para>If writing to a file (perhaps recording
 			<listitem><para>If writing to a file (perhaps recording
@@ -449,7 +451,10 @@
 		
 		
 			<listitem><para>As in <xref linkend="runtime"> all plugins need 
 			<listitem><para>As in <xref linkend="runtime"> all plugins need 
 			to monitor their runtime, specially if they are using network
 			to monitor their runtime, specially if they are using network
-			resources.  Use of the <emphasis>alarm</emphasis> is recommended.
+			resources.  Use of the <emphasis>alarm</emphasis> is recommended
+			noting that some Perl modules (eg LWP) manage timers, so that an alarm
+			set by a plugin using such a module is overwritten by the module.
+			(workarounds are cunning (TM) or using the module timer)
 			Plugins may import a default time out ($TIMEOUT) from utils.pm.
 			Plugins may import a default time out ($TIMEOUT) from utils.pm.
 			</para>
 			</para>
 			</listitem>
 			</listitem>