lib/scripts/feeder.pl
author wenzelm
Fri, 02 Oct 2015 23:22:49 +0200
changeset 61319 d84b4d39bce1
parent 61187 ff00ad5dc03a
permissions -rw-r--r--
more explicit umask for important directories: e.g. relevant for Windows 10, where implicit g=rwx leads to odd failure of chmod -w for heap images;

#
# Author: Markus Wenzel, TU Muenchen
#
# feeder.pl - feed isabelle session
#

# args

($head, $emitpid, $quit, $tail) = @ARGV;


# setup signal handlers

$SIG{'INT'} = "IGNORE";


# main

#buffer lines
$| = 1;

sub emit {
  my ($text) = @_;
  if ($text) {
    utf8::upgrade($text);
    $text =~ s/([\x80-\xff])/\\${\(ord($1))}/g;
    print $text, "\n";
  }
}

$emitpid && (print $$, "\n");

emit("$head");

if (!$quit) {
  while (<STDIN>) {
    print;
  }
}

emit("$tail");


# wait forever

close STDOUT;
sleep;