#!/usr/bin/perl
#  $Id: cam_sighup 6458 2006-11-20 00:55:13Z teetov $
# 
# 
# Purpose:  signal to cam_mretr to check fps_advance file
# Usage:    cam_sighup <devid>
#
# Env:      
#           'ps' has to be in $PATH
#
# Note:   ! No error handling!
#         ! Script may be started by apache via sudo
#         ! script use names 'cam_mretr' directly
#
#
# -----------------------------------------------------------------------------
#  Author:      Alex'A Titov
#  Edited by: 
#  Reviewed:
#  QA by:  
#  Copyright:   videoNEXT LLC
# -----------------------------------------------------------------------------
use strict;

#--------------------------------- parse command line
my $name='cam_sighup';
if(! ($ARGV[0] =~ m/^(\d+)$/)) {  # camid argument expected
  print "\n\nUsage:\t$name <camid>\n\n";
  exit 1;
}
my $id=$1+0;                      # remove leading zeros if exist

#--------------------------------- Find all cam_mjpg
open(PS,"ps -au$> -o pid,args|"); # check own procs for cam_mretr
my @rlist=map {/^\s*(\d+)\s+.+cam_mretr\s+0*$id/} <PS>;
close PS;
#--------------------------------- send SIGHUP
if (@rlist) {                     # only if any proc is found
    unshift @rlist,1;             # push SIGHUP 
    kill @rlist;
}
