87
87
%% close the outfile.
89
89
%% Using merge/2 assumes you want to use default handlers writing to a file.
90
merge(Files,OutputFile) when list(OutputFile) ->
90
merge(Files,OutputFile) when is_list(OutputFile) ->
91
91
merge(Files,fun outfile_opener/1,fun outfile_writer/4,fun outfile_closer/1,OutputFile,off).
92
merge(Files,WorkHandlerFun,HandlerData) when function(WorkHandlerFun) ->
92
merge(Files,WorkHandlerFun,HandlerData) when is_function(WorkHandlerFun) ->
93
93
merge(Files,void,WorkHandlerFun,void,HandlerData,off);
94
merge(Files,OutputFile,Dbg) when list(OutputFile) ->
94
merge(Files,OutputFile,Dbg) when is_list(OutputFile) ->
95
95
merge(Files,fun outfile_opener/1,fun outfile_writer/4,fun outfile_closer/1,OutputFile,Dbg).
96
merge(Files,WorkHandlerFun,HandlerData,Dbg) when function(WorkHandlerFun) ->
96
merge(Files,WorkHandlerFun,HandlerData,Dbg) when is_function(WorkHandlerFun) ->
97
97
merge(Files,void,WorkHandlerFun,void,HandlerData,Dbg).
98
98
merge(Files,BeginHandlerFun,WorkHandlerFun,EndHandlerFun,HandlerData) ->
99
99
merge(Files,BeginHandlerFun,WorkHandlerFun,EndHandlerFun,HandlerData,off).
124
124
process_flag(trap_exit,true),
126
function(BeginHandlerFun) ->
126
is_function(BeginHandlerFun) ->
127
127
case catch BeginHandlerFun(HandlerData) of
128
128
{ok,NewHandlerData} ->
129
129
init_receiver_2(From,WorkHandlerFun,EndHandlerFun,
145
145
{Reply,NewHandlerData}=
146
146
loop(From,WorkHandlerFun,HandlerData,NewReaders,EntryStruct,Dbg,0),
148
function(EndHandlerFun) ->
148
is_function(EndHandlerFun) ->
149
149
case EndHandlerFun(NewHandlerData) of
151
151
From ! {reply,self(),Reply};
207
207
case list_all_entries(EntryStruct) of
208
208
[] -> % The we are done!
210
EntryList when list(EntryList) -> % Find smallest timestamp in here then.
210
EntryList when is_list(EntryList) -> % Find smallest timestamp in here then.
211
211
{Pid,Node,PidMappings,_TS,Term}=
212
212
lists:foldl(fun({P,N,PMap,TS1,T},{_P,_N,_PMap,TS0,_T}) when TS1<TS0 ->
213
213
{P,N,PMap,TS1,T};