Re: NML error



Don McLane wrote:

> 
> Having a problem and narrowed it down to this:
> 
>     void main(int argc, char* argv[])
>     {
>         NML *channel = new NML(helloFormat, "hello_buf", "hello_proc", 
> "rcshello.nml");
>     }
> 
> 
> I get this error:
> 
> 
> * -at-(#) RCS_LIBRARY_VERSION: 4.21 Compiled on  Feb 24 2000 at 13:04:57 
> for the WIN32 platform.
> 
> **********************************************************
> * BufferName = hello_buf
> * BufferType = 3
> * ProcessName = hello_proc
> * Configuration File = rcshello.nml
> * CMS Status = -4 (CMS_NO_MASTER_ERROR: An error occured becouse the 
> master was not started.)
> * Recent errors repeated:
> 
> LOCMEM: buffers_list is NULL.
> 
> cms_config: -4(CMS_NO_MASTER_ERROR: An error occured becouse the master 
> was not started.) Error occ
> 
> * BufferLine: B hello_buf          LOCMEM       localhost               
> 20480 0x2010bbe0      1               8       38440 TCP=9681 xdr
> * ProcessLine: P hello_proc             hello_buf               LOCAL   
> localhost    RW      0               0.1             0       0
> * error_type = 6 (NML_NO_MASTER_ERROR)
> ************************************************************
> 
> 
> What's a MASTER ?  Have I forgotten something?
> 
> Don
> 
> Oh, here's the nml file:
> 
> # NML Configuration file for the rcshello application
> 
> # Buffers
> # Name                 Type      Host                 size     neut?     
> RPC# buffer#     MP     . . .
> B hello_buf          LOCMEM     localhost            2048 0        
> 0x2010bbe0     1            8        38440 TCP=9681 xdr
> 
> 
> # Processes
> # Name                 Buffer               Type        
> Host                 Ops     server?     timeout    master?     cnum
> 
> # hello(0)
> P hello_proc           hello_buf              LOCAL      
> localhost            RW       0         0.1        0        0
> 
> 
> 


The master is the process that initializes the buffer and semaphores 
associated with it.
Normally there is only one master, but there are times when it is 
possible, safe and useful to have more than one.
Non-master processes can not start until atleast one master has started.
The master must be LOCAL and not written in Java.
If the buffer already exists when the master starts, it deletes any 
messages in the buffer without reading them and resets the semaphore 
state but  does not flag an error.

To make a process a master for a particular buffer just set the 
"master?" or  8th feild in the process line to a 1.

# Name                 Buffer               Type        Host 
      Ops     server?     timeout    master?     cnum
P hello_proc           hello_buf              LOCAL      localhost 
       RW       0         0.1        1       0


(Unfortunately my mail program screws up the tab settings and 
automatically splits long lines.)


-- Will






-- 
---------------------------------------------------------------
William Penn Shackleford III			shackle-at-nist.gov
National Institute of Standards & Technology	Tel:	(301) 975-4286
100 Bureau Drive Stop 8230  			FAX:	(301) 990-9688
Gaithersburg MD  20899  USA
http://www.isd.mel.nist.gov/personnel/shackleford/
Office Location: Bldg. 220 Rm A253




Date Index | Thread Index | Back to archive index | Back to Mailing List Page

Problems or questions? Contact