wait()ing on SIGCHLD causing hangs for some folks
[freeside.git] / fs_signup / fs_signup_server
index e1c9b35..b5fc23c 100755 (executable)
@@ -15,7 +15,7 @@ use vars qw( $opt $Debug );
 
 $Debug = 0;
 
-my @payby = qw(CARD);
+my @payby = qw(CARD PREPAY);
 
 my $user = shift or die &usage;
 &adminsuidsetup( $user ); 
@@ -28,7 +28,8 @@ my $pkgpart = $agent->pkgpart_hashref;
 
 my $refnum = shift or die &usage;
 
-$SIG{CHLD} = sub { wait() };
+#causing trouble for some folks
+#$SIG{CHLD} = sub { wait() };
 
 my($fs_signupd)="/usr/local/sbin/fs_signupd";
 
@@ -75,6 +76,7 @@ while (1) {
       $_->state,
       $_->ac,
       $_->exch,
+      $_->loc,
     } @svc_acct_pop
   ), "\n";
   warn "[fs_signup_server] $data\n" if $Debug > 2;
@@ -127,7 +129,7 @@ while (1) {
 
     my $part_pkg = qsearchs( 'part_pkg', { 'pkgpart' => $pkgpart } )
       or $error ||= "WARNING: unknown pkgpart $pkgpart";
-    my $svcpart = $part_pkg->svcpart;
+    my $svcpart = $part_pkg->svcpart unless $error;
 
     # this should wind up in FS::cust_pkg!
     my $agent = qsearchs( 'agent', { 'agentnum' => $agentnum } );