Skip to content
Snippets Groups Projects
Commit 1606d615 authored by Loïc Correnson's avatar Loïc Correnson
Browse files

Merge branch 'fix/ivette/source-code-shutdown' into 'master'

[Ivette] Reset SourceCode on server shutdown

Closes #1235

See merge request frama-c/frama-c!4107
parents 1064c14d 9979c2b1
No related branches found
No related tags found
No related merge requests found
...@@ -600,15 +600,13 @@ export function usePromise<A>(job: Promise<A>): PromiseHook<A> { ...@@ -600,15 +600,13 @@ export function usePromise<A>(job: Promise<A>): PromiseHook<A> {
const [error, setError] = React.useState<Error | undefined>(); const [error, setError] = React.useState<Error | undefined>();
const [loading, setLoading] = React.useState(true); const [loading, setLoading] = React.useState(true);
React.useEffect(() => { React.useEffect(() => {
let cancel = false; let c = false;
const doCancel = (): boolean => { const set = (x?: A, e?: Error): void => { setResult(x); setError(e); };
if (!cancel) setLoading(false); const doCancel = (): boolean => { if (!c) setLoading(false); return c; };
return cancel; const onResult = (x: A): void => { if (!doCancel()) set(x, undefined);};
}; const onError = (e: Error): void => { if (!doCancel()) set(undefined, e); };
const onResult = (x: A): void => { if (!doCancel()) setResult(x); };
const onError = (e: Error): void => { if (!doCancel()) setError(e); };
job.then(onResult, onError); job.then(onResult, onError);
return () => { cancel = true; }; return () => { c = true; };
}, [job]); }, [job]);
return { result, error, loading }; return { result, error, loading };
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment