let receive_event (eventdescriptor:fname_and_fd) (bla:fname_and_fd) =
  let (_,fd) = eventdescriptor in
  let evs = Inotify.read fd in
    List.iter (fun x->
                 match x with
                   | (wd,evlist,_,Some(str)) ->
                       begin
                               let purestr = asciiz(str) in
                               let (dirname,handler) = 
                                 try Hashtbl.find wdmap wd with Not_found->("",None)
                               in
                                 match handler with
                                   | None->
                                       logprint "Unhandled watch descriptor\n"
                                   | Some(handler)->
                                       let fqp = String.concat "/" [dirname;purestr] in
                                         begin
                                         handler wd dirname evlist
                                           purestr
                                         end
                       end
                   | _ -> ()) 
      evs