| T.R | Title | User | Personal Name
 | Date | Lines | 
|---|
| 17.1 | Another bug | MRMFG3::K_MACONI | The Doctor | Mon Jun 16 1986 09:10 | 4 | 
|  |     I have not acutally spent the time to research why a non-privileged
    account gets duplicate entries when they execute the WHO utility.
    The solution is to either put a privilege check for WORLD or GROUP,
    or to add the overhead of removing duplicate entries.
 | 
| 17.2 | Check status return | SIBYL::POORE | Stuart Poore | Fri Jun 20 1986 10:09 | 10 | 
|  |     When I wrote a ZAP like utility (I'm the guy mentioned by
    SIBYL::PATTENDEN in the 'where installed' note), I found that if
    I didn't check the status after a call to GET$JPI (or what ever
    I used), and blindly carried on as if all was O.K. I read back the
    contents of the last successful GET$JPI. Since I only had privilege
    to look at my self, I got a long list of repitions of my own entry.
    This is whats happening above. Simular problem, simular reason ?
    
    	Hope this help,
    		Stuart P.
 | 
| 17.3 | Status not checked | MRMFG3::K_MACONI | The Doctor | Mon Jun 23 1986 09:51 | 6 | 
|  |     That sounds like the reason that the above problem was occuring
    in pre-V2.2 versions of WHO, as the status is not checked after
    a call to SYS$GETJPI.
    
    The fix that was applied in V2.2 of WHO was to just remove duplicate
    entries when all of the entries are sorted.
 | 
| 17.4 | why not check? | PIXEL::BRIAN | Brian Simons - DPS / Graphics | Mon Jan 05 1987 10:57 | 11 | 
|  | >    That sounds like the reason that the above problem was occuring
>    in pre-V2.2 versions of WHO, as the status is not checked after
>    a call to SYS$GETJPI.
>    
>    The fix that was applied in V2.2 of WHO was to just remove duplicate
>    entries when all of the entries are sorted.
Wouldn't it be easier and cleaner to check the status after each SYS$GETJPI?
Or exit the loop if (this_pid == last_pid)?
bs
 | 
| 17.5 | WHO not optimized | MRMFG3::K_MACONI | The Doctor | Wed Jan 07 1987 10:55 | 18 | 
|  |     The method used to scan the system for the pids is simplistically
    documented under: HELP LEXICAL F$PID Example
    
    A context variable is used to sequentially scan the system until
    the last process is found.  Unfortunately, when a privilege violation
    occurs, due to how it is implemented in WHO, the owners process
    is scanned.  This means that if you have no privileges, you should
    find your own process repeated as many times as there are processes
    on the system.
    
    Since WHO is merely a cut-and-paste of ZAP, it is not a priority
    to optimize it, since it only scans the system once and then exits.
    Normally, WHO is installed on the system with WORLD privilege and
    therefore this problem does not normally occur.  Mainly, the fix
    was implemented for users who want to use WHO with only GROUP
    privilege.
    
    				Keith Maconi
 |